一、游戏规则
在一个网格中,输入想要排查的坐标,若运气不好第一个就点到了雷,则游戏结束,若没点到雷,则界面上会出现以你排查的坐标为中心周围八个小方格中雷的总数,可继续排查。
二、游戏分析
1、布置的雷和排查出的雷的信息都需要储存,所以我们创造两个数组,一个棋盘(mine)放布置好的雷的信息,另一个(show)放排查出的雷的信息。
2、用简单清楚的方法判断布置雷,有雷就放1在这里,没有就放0.
3、为了方便用户使用,使用坐标的方法,但有一个问题,设置的是9X9的棋盘大小,但如果排查的是最边上的位置,那么它的周围不足八个小方格,会产生越界问题,所以我们设置11x11的棋盘。还可以设置数字,方便使用者表示出坐标。
三、创建文件
我们对扫雷游戏代码进行分区写,方便后期修改。
test.c//文件中写游戏的测试逻辑
game.c//文件中写游戏中函数的实现等
game.h//文件中写游戏需要的数据类型的函数声明等
1、头文件
2、define定义的行、列、雷的个数 (ROW为行,COL为列)
3、函数声明
四、游戏测试部分(text.c部分)
1、游戏逻辑
2、打印菜单,选择继续或退出游戏
可以看到text.c部分有#include"game.h"部分,因为需要头文件的声明。
3、game()函数
五、游戏功能实现(game.c部分)
1、初始化棋盘
2、打印棋盘函数
这里可以实现打印行号和列号。
3、布置雷
生成随机的坐标,布置雷
我们设定 count 个雷,埋下一个就减一,并进行判断,这个位置是否为字符 '0' ,是就将字符 '0' 改为字符 '1' ,不是字符 '0' 就再生成一个合法的随机位置,使其合法的放入 9*9 的棋盘里面,这样就不会出现重复埋雷了。在使用 while 循环,直到减到 count 为 0 时,while 不在循环,10 颗雷正好埋完。
4、排查雷
根据下面的图可以更清晰的理解对排查位置周围八个小格子的雷的个数,0表示该位置不是雷。
六、碎碎念
这是扫雷游戏的最基础版,待我完成期末考试后继续学习,让扫雷游戏基础版进化。