一、首先简单逻辑构建:
1·建立头文件和源文件
game.h 是指:游戏相关的函数申明。
game.c 是指:游戏相关的函数实现。
test.c 是指:游戏相关的逻辑。
2、基本逻辑/思路:
二、game分析
1、布置雷(随机)
2、扫雷
这里以简单的扫雷做分析(9*9个格子)
如果你点出来是炸弹,说明你失败了,如果你点击格子,显示出来是一个数字,说明它周围有怎么多个雷:
点击出来是1,说明周围8个格子有一个是雷。
1、布置雷分析
当我们布置雷位置信息时,我们用坐标,即需要用到二维数组,假设我们以0表示安全,1表示该位置是雷,可是这时你会返现,格子里的数字是指它周围雷的数量,如果用1表示雷的话,就会与表示周围有多少雷的数字重合,就会不容易区分。
因此,我们可以采用其他,表示雷,比如: # 表示无雷,* 表示有雷,数字表示周围雷的个数,可是这样搞,信息过多,复杂。
所以,我们可以这样设置,布置两个数组,一个是放雷的信息,另一个是放排查雷的信息:
但是当我们统计边缘一列 / 一行时,会发现有越界的现象,因此我们写代码时(9 * 9个格子)可以写成11*11个格子,最后的一行和一列主要是为了防止越界,不放任何东西。我们在排查雷的信息时,还没有排查的位置我们可以放 * 表示,所以我们的两个数组都是字符数组。
三、写代码
不是雷的位置放 ‘ 0 ’;
是雷的位置放 ‘ 1 ’;
没有排查到雷的位置放 ‘ * ’。
1、先打印两个数组
上面这张图片,不要忘记在最前面几排还要加上#include"game.h"
(我没有截到)
2、布置雷(SetMine)
每次布置的雷的位置是随机的。
3、排查雷(FindMine)
四、最后的代码:
各位加油,不要放弃,以我的水平,我觉得这个挺难的(。•ˇ‸ˇ•。)