关于扫雷游戏的理解下

1.接上篇文章,现在我们要开始设置雷,我们可以用一个SetMine(mine,Row,Col)函数,把雷布置带中间9×9的棋盘里面去,然后在到game.h里面去进行声明

8cecc1f6f7d642f3af5be5b5b41e7abb.png

 5f2454999a20487f97d20109a3c07807.png

 2.去game.c文件里面去进行实践:

首先要设置雷的个数,写为 EASY_COUNT函数,对着个函数进行声明,后面如果我们要求难度增加可以对这个的个数进行修改

a446c0ec253e436e99f0e22098377260.png

 接下来我们需要生成一个横坐标和一个纵坐标来确定我们的位置 横坐标的范围是1~9,纵坐标的范围也是1~9 ,此处我们需要用rand函数来设置一个随机的雷,而用到rand就需要一个srand函数,我们把srand放在main函数里面进行声明

bf488b6e180e44549fa4a2b308d07b82.png

e71a3b9886e04851b2baff8be5ad7d81.png 

 而用道 srand函数时我们又会使用到time函数,我们需要对srand函数和time函数在game.h中进行声明

a8b753ce1d064251a69e284da3cff4f0.png

 3.接下来我们要判断一个坐标是否布置过雷,如果不是雷(‘0’),就给它布置一个雷(‘1’),然后count--,就完成了布置雷的这个函数的实现

3b279a6701ed4bb9b408bf3986f192cd.png

 4.紧接着是排查雷,我们得输入一个坐标,如果这个坐标是雷,就被炸死了,如果不是雷,就显示这个坐标周围有几个雷。而排查雷时,我们会用到前面的两个数组,一个是9×9的,我们需要在里面进行雷的排查,一个是11×11的,我们需要将排查出雷的信息显示到里面去。我们用一个函数FindMine来进行排查雷的这个操作。首先我们要再game.h中进行声明

f38afa6440ab4a9cbb7d4e7179ef37e3.png

 再去game.c中进行实现,首先要输入要排查的坐标,但是我们要对输入的坐标进行判断是否这个坐标是在9×9的数组里面的(合法的),如果输入的坐标是合法的,我们要对输入的坐标进行判断是否为雷,如果是雷(‘1’),就被炸死了

 c549e7b7ff4941f88fb2e2825d57e091.png

 

如果不是雷(‘0’),就要统计周围雷的个数,如果我们把我们输入的坐标看作(x,y)我们就可以得到它周围的坐标

61aaed319b644d10afd5470ea13e1cd3.png

 然后判断周围的坐标是否为雷,在显示出来放在show数组里面去,我们可以用一个函数get_mine_count(mine,x,y),对这个函数进行实现

d32492c9118548d78f082f732117e4a3.png c762710b4d384f798338708aa5f21d87.png

 5.

但是我们这个是一个循环,并不能结束,所以我们要找到它结束的条件

50f3b84126d64ebe8033a33fce0e5398.png

 a5510c2046da45f6b31c03aa7b88673b.png

 以上就是扫雷游戏的基本思路

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值