Author:beiyanyunyi
软件工程专业 自信某男
没有那么多人勤奋,只是你自己不行动,畏惧了其他人。
CSDN:weixin_62688213
代码在上一篇文章。
定义两个是二维数组。如果是9×9宫格的游戏,那么横竖就需要多加两层,也就是11×11。这是需要介绍它的坐标,加一行0123456789,加一列0123456789。
有了数组就可以画图了。
初始化定义棋盘:
1。用户界面图,由*和012345678组成。*是没有发现的未知宫格,数字n代表周围的八宫格有n个炸弹。
2。游戏炸弹图,由0和1组成。系统的炸弹用1表示。
(注意:初始化时没有埋下炸弹。)
炸弹图
0 1 2 3 4 5 6 7 8 9
1 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0
打印棋盘(用户界面)
也就是把上面的0全部换成字符*。
布置地雷,我们需要找到一个宫格周围有几个雷,就需要mine函数,也就是地雷图。埋地雷也是需要数字,0没有地雷,1是有地雷,就用到mine数组。
有了雷,有了用户界面,就可以让用户输入了坐标扫雷了。
开始雷!!!
游戏图和用户界面之间的数据怎么关联的呢?
如果你踩到雷 ,用的是mine函数,你的坐标的元素等于一,炸。但是你需要知道怎么炸死的,来一个炸弹图告诉你。
如果不是雷,通过mine函数计算这块宫格周围的数值之和。但是如果这个宫格贴的墙,我们怎么样计算之和呢。前面的11x11,多出来的那部分是符号’0’,有就可以了。
我们通过特殊的方法让show函数拥有了mine传递的值,打印出新的用户界面图,完成一次扫雷。
我们需要有扫雷次数,合法输入非法输入,祝贺成功。
深层次理解show [x][y]=count+’0’,先用ascii值加减,在转换成对应的字符。反正不管你怎么变,最后打印的就是字符。
先赞后看,养成习惯!!! ^ _ ^ ❤️ ❤️ ❤️
码字不易,大家的坚持就是我坚持下的动力,点赞后,不要忘记关注我哦!
如有错误,还请您批评改正 ^ _ ^