一,游戏规则
1.1扫雷游戏的玩法规则
对于经典游戏扫雷游戏玩法的实现的玩法,对于规则的整理如下:
1,有若干行、若干列方块组成,方块下有着一定数量的地雷
2,用户选择一个方块进行操作:
>检查下面是否有雷
>标记方块为地雷
>取消标记
3,用户点开或者排查某个方块:
>如果方块下面是地雷游戏结束(游戏失败)
>如果不是地雷,显示周围8个格子下隐藏的地雷数,如果周围地雷数为0则打开相邻的8个格子,以及周围相邻的格子
>如果已经点开检查所有下面没有地雷的方块游戏胜利
可以参考扫雷网页版扫雷游戏在线玩 - Minesweeper (saolei123.com)
二,游戏实现
2.1棋盘
这个是网页版的的棋盘
这个是用控制台模拟的棋盘
】
我们看到,这个扫雷棋盘,是一个9*9的矩阵,所以在c语言中我们就要用一个二维数组来模拟,
然后我们就可以规定:
>棋盘可操作得到区域是一个9*9的二维字符数组
>棋盘有两个,一个用来埋雷,一个用来展示排查雷的情况
>埋雷的棋盘,'1'代表该位置有雷,'0'代表该位置没有雷
注意:实际的棋盘要大俩行
因为我们排雷的时候是要对排查位置周围8个坐标的雷的个数进行统计,并且显示出来,但是问题是对于一个9*9的数组有些位置并没有那么多坐标,那么数组周围的坐标到底是什么,就有可能产生越界的可能
所以中间被蓝色环绕的区域是我们的实际操作区域,但是我们要在其外围加一圈蓝色区域,防止越界
三,代码实现
3.1辅助函数
1>菜单函数
2>初始化函数
3>打印棋盘
4>统计个数
字符'0'的ASCII码值是48,字符'1'的 ASCII码的值是49所以我们怎么的到整数1,那‘1’-'0'是不是就是整数1了
我们把周围8个字符的值算出来就是然后在减去8*'0'就可以的到雷的个数了
5>主函数
1是主函数,2是游戏函数,3是游戏过程
四,写后总结
1>是对自己目前所学知识的总结,同时过程中其实还有好多不理解的东西的一次实践
2>代码中还有许多缺陷,但是所学知识有限,无法解决,例如,没有可以选择难度的系统,没有标记,这个我会在后期学习中补齐,并且在输出一个于之相关的问章