扫雷---一个让小白装逼的项目

首先在我们了解了猜数字的游戏之后,我们可以运用时间戳去随机生成一个数字,那么在扫雷的项目中我们同样会用到时间戳去随机生成雷

那么跟之前猜数字一样的就是我们的菜单的设计还是运用一个void函数

这个菜单如果看了我之前的博客就不陌生了,当然了,这只是我的一个设计方式,你们可以根据自己的想法去对这个游戏菜单进行改良拓展都是可以的。

这个项目中我们需要用到一个头文件我们命名为game.h和两个源文件,一个是game.c用来写游戏规则相关的代码,还有一个test.c这个是用来写主函数的代码

首先在我们的头文件之中需要包含stdio stdlib time

然后定义define ROW  COL分别对应的是棋盘的行跟列,在这里定义了之后,在之后的运用之中就可以直接使用了

因为在扫雷之中,我们需要在你选择的坐标的范围搜索是否有雷,那么我们为了防止你输入的坐标在边缘从而导致越界,所以我们就定义一个ROWS ROW+2 跟COLWS COL+2那么这样在搜索的时候就不用担心越界的问题了。

那么其次我们还要注意的就是,我们需要创建两个棋盘,一个是我们放炸弹的主棋盘,上面0 就是说明没有雷,1 就是说明有雷,还有一个是给玩家看到的棋盘,所有的坐标全部用*代替

mine棋盘就是我们的主棋盘,show棋盘就是我们给玩家看到的棋盘

这些我们在头文件中都要定义一下,然后去game.c之中去详细的写

这里的SetMine就是用来写雷的布置的,FindMine就是用来写寻找雷的代码的

这里我想提醒一下,我们在运用头文件的时候,不是创建一个头文件就可以了,我们在后面的源文件中要包含进去,include"game.h"这里不是用<>号,自定义的头文件用双引号来使用!!!

这个是棋盘的布局代码

运用for的循环去生成棋盘

这个代码就是为了求你选择的位置附近有几个雷,将他想象成一个x,y轴的坐标。

这个就是对于玩家玩法的一个设计,将刚刚写的统计周围有多少雷的代码引用进去了

然后就是运用if的选择函数来对玩家做出的选择来进行一个判断,如果是雷就打印你被炸死了,如果不是雷就显示棋盘并且把你选择的位置周围有几个雷给打印出来。

这个就跟我们之前那个猜数字的游戏比较类似了,用一个switch函数,case1是你玩的时候跳出的结果,case2是你不玩的时候跳出的结果,default是你两个都不是的时候的结果,那么就打印选择错误,请重新输入。

这样一个简单的扫雷就完成了,我们运行之后的结果

会首先跳出我们提前设计好的菜单,询问你是否要玩

接下来如果你选择了1,play

那么棋盘就打印出来了,也就是代表我们的代码是成功的。

扫雷我们也就完成了!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值