一个简易的扫雷代码设计
————直接看最后可能是初学者学习扫雷代码卡壳的易错点
1. 扫雷游戏分析和设计 1.1 扫雷游戏的功能说明 • 使⽤控制台实现经典的扫雷游戏 • 游戏可以通过菜单实现继续玩或者退出游戏 • 扫雷的棋盘是9*9的格⼦ • 默认随机布置10个雷 • 可以排查雷 ◦ 如果位置不是雷,就显⽰周围有⼏个雷 ◦ 如果位置是雷,就炸死游戏结束 ◦ 把除10个雷之外的所有⾮雷都找出来,排雷成功,游戏结束
1.游戏菜单
————play进入游戏,exit退出游戏。
2.进入游戏后可分为四小步来进行实现
2.1创建数组、初始化数组
2.2打印数组
2.3在数组里埋雷
2.4排查雷
在头文件里定义了些数据--
2.1创建数组、初始化数组
——为了方便,需要创建两个char类型的11*11的(为了后续排查雷的方便)二维数组,一个用来放雷,一个用来展示,减少在一块棋盘上的信息用量,用‘*’当棋盘展示界面,用‘0’当放雷的界面,‘1’当作雷。
—— —— ——由于后续代码块比较多,于是使用函数进行分装,甚至用函数的链接属性将代码分离,提高安全性—— —— ——
2.2打印数组
————再加一点修饰
2.3在数组里埋雷
2.3.1 埋雷需要产生10个随机数放在二维数组棋盘里,设x,y值代表坐标,产生的随机rand()%9+1则变成产生1~9的随机数。在循环里,若随机数产生的坐标处不为‘1’,则放‘1’
2.4排查雷
2.4.1输入查找的坐标,如果查找的坐标等于‘1’,则遇到雷,被炸死,游戏结束。。
如果查找的坐标不等于‘1’,则未遇到雷,则计算周围八个空格雷的个数,并且返回显示个数值,怎样计算?(把周围八个加上本身坐标的值相加再减去8 × ‘0’)。
————————流程结束————————————
game函数总体板块
头文件总体板块
过程中遇到的易错点!!!卡了很久
形参和宏常量通常不能一样
形参是函数的定义,调用时传参数据的变量。宏常量是预编译阶段简单替换的标识符。
这是char类型的二维数组,打印出来是字符!
注意:初始化是11*11棋盘,则赋值下标是从1~9不是上述图片那样0~8!!! 导致后面埋雷个数怎么都不够。
rand()%9———0~8!!!
rand()%9+1———1~9!!!