一、主要思路
注意,在此之前要有一点自定义函数与二维数组知识储备
代码主要思路是主函数完成游戏是否开始的选择与调用自定义函数
自定义函数实现菜单打印、数组初始化、布置雷与排查雷
以主函数调用函数和函数调用函数来实现这个功能
二、各功能实现
1、确定主函数能运行各选择,并且菜单能根据需求打印再接下来的运行
菜单menu函数与game函数实现菜单与游戏进行过程
2、利用函数初始化数组并且做好打印函数以便显示
在这里定义全局变量ROWS、COLS与ROW、COL,前两个是后两个的加2,主要用来防止越界访问
定义两个数组,一个用来显示排查雷后的显示,一个用来布置雷
并将两个数组初始化成想要的样子,以函数打印来查看是否有误
3、写一个随机布置雷的函数
定义一个关于有多少雷的全局变量BOMB,以便代码清晰
利用srand和rand函数随机在数组任意位置生成雷,布置雷的为字符‘1’否则为字符‘0’
布置雷过程判断那位置是否有雷,有的话就变量num就不自增,没有且布置了就增1
布置完之后利用显示数组函数查看是否正确
4、写一个排查雷的函数,并且一边写一边测试
利用显示函数一边显示一边排查,首先测试选中雷是否会结束游戏,如下操作可以看到可以成功实现被炸
测试再尝试实现所在坐标旁边有多少雷,用函数RetBomb返回数值多少个雷
返回的这个数加上‘0’就是字符几,如数字‘1’加字符‘0’结果得到的数值对应的ASCII就是字符‘1’
并把这个数值赋值回显示在屏幕上的数组,让玩的人知道这个附近有多少个雷
5、完善排查雷函数,能实现失败与成功的退出
一边显示一边测试,在测试过程中改变全局变量BOMB就可以改变雷的个数,有利于更好测试
如下可以看到当扫不是雷的地方时可以退出,在上面排查是雷时也能退出
6、以函数game调用各种函数实现
利用函数game调用初始化数组、显示数组、布置雷、排查雷
调用函数方式,可以让主函数与各函数不那么臃肿,各个功能分开更好理解
在集合完成时再次测试,以便查找问题在哪
三、总结
新手只有自己尝试多写多想才能写的成功并且熟悉,一边模仿一边写,对于自己难的才有进步