C语言扫雷思路分析及代码解析(简单易懂)

1.首先我们需要知道扫雷的模板是什么样的(如图所示)

 由此可见,扫雷是一种类似九宫格的模板

所以我们不妨先创建两个二维数组,为什么是两个呢(如图所示)

 我们想要实现扫雷这个功能,需要创建两个二维数组,一个放雷,一个初始界面(玩家看到的),放雷我们是不需要给用户看的。

————————还有一点,创建二维数组的时候预留空间

 因为我们排查的时候是在其中一个格子的周围依次遍历,倘若我们排查1 1坐标周围雷的个数,如果不预留空间,我们就会越界访问。

2.知道模板后,如何实现呢?

为了使逻辑清晰,我们不妨将这个项目分为分为3个文件,一个头文件game.h,两个源文件

game.c,test.c。作用如下

1 test.c //⽂件中写游戏的测试逻辑    。
2 game.c //⽂件中写游戏中函数的实现等 。
3 game.h //⽂件中写游戏需要的数据类型和函数声明等 。

3.步骤分析

首先,我们要test.c中写入主函数,在主函数里调用其他函数,调用的函数作用为

1.打印菜单

在main函数中我们可以使用do...while()循环来先打印出菜单(如图所示)

 

 打印完菜单后我们可以使用switch...case选择结构来选择玩不玩游戏

玩游戏的话就进入我们的game函数

 头文件的自定义和声明如下

 

2.创建数组

由上面的数组我们可以看到我们要开始创建数组了,代码如下

 创建完后用DisplayBoard函数打印

 

3.布置雷

接下来,我们要开始布置雷了,使用SetMine函数

 这里我们假设布置10个雷,用随机函数rand

4.排查雷

布置完后就是排查阶段了

 排查中我们又定义了一个函数来得到这个坐标周围的雷的个数

 

到此为止,扫雷的基础玩法已经实现了(并非全部功能实现)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值