功能设计
扫雷大家应该都玩过,这是一个十分经典的游戏,今天我将给大家讲解如何用C语言实现扫雷,我的这个扫雷有如下几个功能:
- 显示该点周围雷的个数
- 第一次下子,不炸死
- 坐标周围没雷,可以实现展开
- 然后循环实现游戏
效果展示:
设计思路:
我们只要输入坐标就可以扫雷了,是不是很有趣?
其实要想实现这也不难,我们要用几个算法模块来模拟游戏规则,需要用函数来调用各个模块使游戏跑起来。
那么第一步我们就要构思一个棋盘,看见上面第一张图没,在开始游戏的界面我打印了两个棋盘,有0和1的棋盘是给我们设计者看的,它可以显示出当前雷的真实分布,这有利于我们测试代码的正确性,而全是 * 的棋盘是给玩家扫雷用的。
那我们就需要用二维数组来打印两个棋盘,假如我们要打印9x9的棋盘,那我们的二维数组元素也要为9x9个吗?,不能,因为我们在设计算法时需要统计坐标周围8个方位雷的个数,假如要统计边界坐标周围雷的个数,那么就会有数组越界的问题,那我们就要在9x9的边界多上一圈元素,也就要定义11x11的数组元素,这些元素我们不要打印出来,心里有数就行,如下图: