想要实现经典的扫雷游戏,我们先观察要求:
•
使⽤控制台实现经典的扫雷游戏
•
游戏可以通过菜单实现继续玩或者退出游戏
•
扫雷的棋盘是9*9的格⼦
•
默认随机布置10个雷
•
可以排查雷
◦
如果位置不是雷,就显⽰周围有⼏个雷
◦
如果位置是雷,就炸死游戏结束
◦
把除10个雷之外的所有雷都找出来,排雷成功,游戏结束
STEP 1:
先设计文件结构,我们简单的分为
扫雷.c(主程序位置和进行测试)
gamebody .c(进行函数的实现和功能的齐全)
gamebody.h(进行函数的声明和需要的数据类型)
STEP 2:
进行逻辑分析和框架构建。
首先在主程序里搭建游戏框架(菜单,界面等)。紧接着,棋盘(9*9放雷的格子),使用二维数组构建平面。为了避免边界处的雷在查找周围的格子时越界,我们将棋盘扩大到11*11。
布置好的棋盘不能让玩家看到,所以一共使用两个二维数组,一个用*号来表示未知(取名show),不打印另外一个真实的雷场(取名mine)。
然后使用随机数的功能来生成雷的位置。
让玩家输入想“扫”的坐标,用分支结构来确定是继续游戏或是结束,结束之后提供选项:再玩一次或退出游戏。
STEP 3:
实践。
1.构建主函数。
2.开始游戏模块
设计模块
a.初始化
b.设置打印(display环节可用于检测每一步是否正确)
c.随机生成(埋雷)
d.玩家输入
e.扫描
此时要与扫雷.c联动进行。
STEP 4
优化。
•
是否可以选择游戏难度
◦
简单 9*9 棋盘,10个雷
◦
中等 16*16棋盘,40个雷
◦
困难 30*16棋盘,99个雷
•
如果排查位置不是雷,周围也没有雷,可以展开周围的⼀⽚
•
是否可以标记雷
•
是否可以加上排雷的时间显⽰