首页 游戏问答 正文

核心玩法是什么?

游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷。

在判断出不是雷的方块上按下左键,可以打开该方块。如果方块上出现数字,则该数字表示其周围3×3区域中的地雷数(一般为8个格子,对于边块为5个格子,对于角块为3个格子。所以扫雷中最大的数字为8);如果方块上为空(相当于0),则可以递归地打开与空相邻的方块;如果不幸触雷,则游戏结束。

在判断为地雷的方块上按下右键,可以标记地雷(显示为小红旗)。重复一次或两次操作可取消标记(如果在游戏菜单中勾选了“标记(?)”,则需要两次操作来取消标雷)。

同时按下左键和右键完成双击。当双击位置周围已标记雷数等于该位置数字时操作有效,相当于对该数字周围未打开的方块均进行一次左键单击操作。地雷未标记完全时使用双击无效。若数字周围有标错的地雷,则游戏结束,标错的地雷上会显示一个“ ×”


1, 随机布雷模块

在该模块中,我们要为扫雷游戏随机的布置地雷,扫雷游戏的布雷面板可以用二维int数组表示,若某位置为地雷,则该位置用数字-1表示,若该位置不是地雷,则暂时用数字0表示。我们要编写程序完成在该二维数组中随机布雷的操作,程序读入三个参数:布雷面板的行数(r),列数(c),布置的地雷数(n),且要满足要求0

以上一模块产生的随机地雷分布的二维数组为数据来源,计算该二维数组中不是地雷的位置周围的8个位置总共有多少个地雷,将这一数字存储在该位置3, 输出布雷面板:

我们要编写程序完成布雷面板的控制台输出,为了区分布雷面板中哪些位置是已经被用户排开的,哪些位置是未被排开的,我们对以上二维数组的数据定义作如下约定:

若该位置保存的数字是n,则n满足如下条件:

1) 若0<=n<=8,则表示该位置不是地雷,其周围位置的地雷数就是n,且该位置未被用户排开。

2) 若10<=n<=18,则表示该位置不是地雷,其周围位置的地雷数就是n,且该位置已经被用户排开。

3) 若n==-1,则表示该位置是地雷,并且未被用户标记。

4, 用户排雷程序模块

完成以上两个模块后,用户可以完成排雷的操作,我们要编写一个程序来支持用户通过控制台来排除地雷,用户可以在控制台输入坐标位置,来表示排除该位置是地雷。当用户输入坐标位置后,程序需要执行如下操作:

1) 若该坐标位置是地雷(值为-1),则,程序结束,用户排雷失败。

@亚历山大谨慎

2) 若该坐标位置存储的数字是大于0小于等于8的整数(该位置不是地雷,该位置周围地雷数等于该数字,该位置未被用户排开),则将该位置排开(并将该位置的数字 10,表示该位置已经排开),然后重新输出一遍布雷面板。

3) 若该坐标位置存储的数字是大于等于10小于等于18的整数(该位置不是地雷,该位置已经被排开),则输出错误信息,请用户重新输入。

4) 若该坐标位置存储的数字等于0(该位置不是地雷,该位置周围的8个位置也没有地雷,该位置还未被用户排开),则找该位置的周围8个位置,将其排开,排开时递归的执行排雷程序模块的操作。


1, 随机布雷模块

在该模块中,我们要为扫雷游戏随机的布置地雷,扫雷游戏的布雷面板可以用二维int数组表示,若某位置为地雷,则该位置用数字-1表示,若该位置不是地雷,则暂时用数字0表示。我们要编写程序完成在该二维数组中随机布雷的操作,程序读入三个参数:布雷面板的行数(r),列数(c),布置的地雷数(n),且要满足要求0

以上一模块产生的随机地雷分布的二维数组为数据来源,计算该二维数组中不是地雷的位置周围的8个位置总共有多少个地雷,将这一数字存储在该位置3, 输出布雷面板:

我们要编写程序完成布雷面板的控制台输出,为了区分布雷面板中哪些位置是已经被用户排开的,哪些位置是未被排开的,我们对以上二维数组的数据定义作如下约定:

若该位置保存的数字是n,则n满足如下条件:

1) 若0<=n<=8,则表示该位置不是地雷,其周围位置的地雷数就是n,且该位置未被用户排开。

2) 若10<=n<=18,则表示该位置不是地雷,其周围位置的地雷数就是n,且该位置已经被用户排开。

3) 若n==-1,则表示该位置是地雷,并且未被用户标记。

4, 用户排雷程序模块

完成以上两个模块后,用户可以完成排雷的操作,我们要编写一个程序来支持用户通过控制台来排除地雷,用户可以在控制台输入坐标位置,来表示排除该位置是地雷。当用户输入坐标位置后,程序需要执行如下操作:

1) 若该坐标位置是地雷(值为-1),则,程序结束,用户排雷失败。

@亚历山大谨慎

2) 若该坐标位置存储的数字是大于0小于等于8的整数(该位置不是地雷,该位置周围地雷数等于该数字,该位置未被用户排开),则将该位置排开(并将该位置的数字 10,表示该位置已经排开),然后重新输出一遍布雷面板。

3) 若该坐标位置存储的数字是大于等于10小于等于18的整数(该位置不是地雷,该位置已经被排开),则输出错误信息,请用户重新输入。

4) 若该坐标位置存储的数字等于0(该位置不是地雷,该位置周围的8个位置也没有地雷,该位置还未被用户排开),则找该位置的周围8个位置,将其排开,排开时递归的执行排雷程序模块的操作。


相关信息

饥荒灭火器在哪一栏?
饥荒手机版可以联机玩吗?
扫雷怎么玩?
饥荒节日彩灯有什么用?
饥荒螺旋桨叶片在哪?
扫雷最后二选一只能猜了吗?
饥荒猪舍多久刷猪?
饥荒盐晶代码是多少?
饥荒拖网怎么做?
饥荒格罗姆怎么杀?
饥荒冰淇淋代码是多少?
饥荒蜘蛛人怎么恢复精神值?
饥荒智慧树可以移植吗?
饥荒小切死了多久刷新?
饥荒陨石坑怎么修复?
饥荒龙鳞火炉怎么制造?
饥荒猪人房怎么建?
饥荒岩浆池有什么用?
饥荒夏天躲地洞会热死吗?
饥荒石墙怎么建?
饥荒海难金块怎么获得?
饥荒大理石甲作弊码是什么?
新手怎么玩?
饥荒无花果代码是多少?
扫雷怎么玩?
饥荒椰弹怎么用?
饥荒怎么下载?
饥荒天数越多难度越大吗?
饥荒海难岩浆矿怎么挖?
饥荒四个零件怎么组装?
饥荒威尔麦斯雕像有什么用?
饥荒熊皮代码是什么?
饥荒鞍具在哪一栏?
饥荒怎么打狗?
饥荒钢羊鼻涕有什么用?
饥荒整齐排列mod叫什么名字?
饥荒社交模式和合作模式有什么区别?
饥荒急急如律令怎么做?
饥荒怎么开船?
饥荒水母怎么抓?