(1)首先建立工程,在头函数中添加game.h,在原函数中添加game.c、test.c,
在game.c中实现游戏的有关函数,在game.h中实现函数声明,在test.c中为主函数,实现函数的调用。
(2)①在test.c中实现主函数,将游戏放到测试函数中
②为了能够一直玩,建立循环
其中meum为菜单函数,就是游戏刚开始的时候的界面
③开始主题实现game()函数
(3)
①首先,我们要创建两个数组函数,一个是用来埋雷的,一个是用来展示给玩家看的
为了方便修改,我们在game.h中进行定义,要知道我们扫雷及时看选中单元周围的八个单元中是否有雷,但是边上的雷没有周围8个单元,所以我们可以定义一个1111的数组,把他当成99的来使用,在多余的地方都放没雷,这样既可
②开始函数的初始化
一开始,我们将board中都放入’0’字符表示没雷,而往show函数中放上’*'表示未知
由于初始化的值是不同的,所以我们也要将初始化字符传入函数中
在game.c中为
把各自初始化值放入数组中
②初始化后,我们可以展示一下两个数组,即
开始实现这个函数
主体其实为
其余部分为打印出来它的行列标志
③开始放雷
放雷也就是在board中放雷,由于是随机放的,仍然需要rand函数
在主函数中创建随机数,让1表示有雷,来代替0
并引入两个库函数
其中 easy_count也是放雷的数量,
④开始找雷
在board中找雷的数量,在show中显示出来
也就是找board数组中,坐标的周围8个坐标中‘1’的个数,由于‘1‘ - ‘0’=1,所以我们可以将周围8个坐标的ascall码值相加 - 8* ‘0’ 即可为周围有几个雷
先判断坐标是否合法,若合法,检查输入坐标是否为雷,如果直接为雷,则直接炸死,不是雷则调用saolei()函数来看周围有几个雷,同时定义win函数,每扫成功一会,则他加一,扫到他为没雷时,结束游戏。
(4)全部代码为下
game.c函数
test.c函数
game.h函数