首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解扫雷船编程p.roblem

问理解扫雷船编程p.roblem
EN

Stack Overflow用户
提问于 2016-10-14 14:19:36
回答 2查看 663关注 0票数 1

我想了解扫雷船的问题:

问题陈述:

你玩过扫雷游戏吗?这个可爱的小游戏有一个我们不记得名字的操作系统。游戏的目标是fi和所有的地雷都位于一个M×Nfield内。游戏显示一个正方形中的一个数字,它告诉你在那个方块附近有多少个地雷。每个正方形最多有八个相邻的方块。左边的4×4field包含两个地雷,每个地雷由一个“*”字符表示。如果我们用上面描述的提示数表示相同的field,则在右边以field结束:

测试用例

​

我不明白这个问题。请解释一下这个问题,这样我就可以自己解决了。请不要解释解决办法。

(我已经见过this problem和其他许多类似的例子,但他们不是在谈论核心编程问题,而是游戏项目。)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-16 13:36:38

问题只是计算每个地图单元的相邻炸弹数量。游戏中只显示已经挖出的粗糙的细胞。

你只要数一下附近的地雷..。

  1. char map[5][5] sample ..* ...*..*.
  2. 创建计数器int cnt[5][5] 它应该具有与输入map相同的大小。用0输入它 地图.00000 .* 00000 ...*。00000 .....00000 *。00000
  3. 通过整个map的循环 如果map[i][j]=='*'然后简单地增加cnt中的所有相邻计数器,如下所示: 对于(i=0;i<5;i++) for (j=0;j<5;j++) if (mapi=‘*’){ cnti-1++;cnti ++;cnti ++;cnti+1++;} 为了避免访问冲突,应该添加范围检查或分离内部和边框部分。您也可以使用阵列大小扩大从每边一个单元格,并使用仅内部部分。 条件每次成功的结果迭代: 地图.11100 .* 10100 ...*。11100 .....00000 *。00000 .....11100 .* 10211 ...*。11201 .....00111 *。00000 .....11100 .* 10211 ...*。11201 .....11111 *。01000

欲了解更多信息/想法,请看:

票数 1
EN

Stack Overflow用户

发布于 2016-10-14 14:41:14

从理论上讲,扫雷舰可以作为物体的网格。当玩家使用任何对象时(在经典的扫雷器中),周围的对象会检查、其周围的对象、,并计算被标记为我的对象的数量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40045480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档