Holle,大家好,今天来给大家讲讲怎么用C语言写扫雷小游戏,看完本篇文章,你也能闭眼手搓扫雷代码。
游戏逻辑分析:
OK,想要轻松拿捏扫雷小游戏,我们首选需要理解一下这款游戏的本质逻辑,当然,我们依然会分文件的去写,依旧是使用源文件test.c来测试游戏,game.c里面放游戏的实现,而头文件game.h里面放游戏声明。
分析:
第一,首先先需要打印菜单,给玩家提供可选择的选项,是否选择开始游戏。
第二,我们需要生成两个二维数组,也就是棋盘,并对棋盘进行初始化,一个棋盘需要打印给玩家看的,而另一个棋盘需要用来埋雷。
第三,玩家提供要排雷的坐标,根据玩家提供的坐标,对该坐标附近的雷进行统计,并显示在显示棋盘上。
第四,最后判断游戏是否结束,游戏结束由两种方式,一种是玩家踩雷了,被雷炸死了,此时游戏结束,一种则是,玩家排雷成功,将所有布置的雷都排查出来了,此时游戏结束。
游戏实现:
打印菜单:
一开始,我们需要给玩家呈现一个菜单面板,供玩家选择,因此,我们就写一个menu函数来做菜单函数:
代码如下:
void menu() { printf("************************\n"); printf("****** 1. play ******\n"); printf("****** 0. exit *******\n"); printf("************************\n"); }当然,玩家玩完一次还想玩,依然可以继续选择1进行玩,那我们这里就直接用do while函数来写这个循环。
void test() { srand((unsigned int)time(NULL)); int input = 0; do { menu(); printf("请选择:>\n"); scanf("%d", &input); switch (input) { case 1: game(); break; case 0: printf("游戏退出\n"); break; default: printf("选择错误,请重新选择!\n"); break; } } while (input); } int main() { test(); return 0; }
开始游戏:
OK,我们在菜单中选择1,开始游戏,这时候,我们进入game函数。
进入game中代表我们已经开始游戏了,这时候,我们生成两个二维数组,一个是存放布置好雷的信息,一个是存放排查雷的信息。
代码如下:
//1.需要存放布置好的雷的信息,存放排查出雷的信息,我们需要两个二维数组 //2.排查坐标的时候,为了防止坐标越界,我们给数组的行增加两行,列增加两列 //printf("扫雷\n"); char mine[ROWS][COLS] = {0};//布置好的雷的信息 char show[ROWS][COLS] = {0};//排查出的雷的信息
初始化棋盘:
我们建立了两个二维数组,但是我们需要对这两个二维数组进行初始化,即对布置好雷的棋盘用字符‘0’来初始化,排
1万+




被折叠的 条评论
为什么被折叠?



