C语言实现简易扫雷小游戏

这篇文章主要为大家详细介绍了C语言实现简易扫雷小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

我们经常在电脑上面玩的扫雷游戏,很考验我们的判断能力,但是实现一个扫雷游戏并不是很困难,只要多注意一些细节就好,就可以将一个简单的扫雷游戏写出来!

接下来先介绍扫雷游戏要实现的功能:

首先,要对雷阵进行初始化,在初始化的时候要注意要定义两个数组,一个是让我们扫雷的阵,另外一个就是显示某一个地方的周围的雷的总个数的矩阵,在初始化的时候要注意为了避免传址的问题,我们把它写在主函数里面。

 char mine[rows][cols]; char show[rows][cols]; int i = 0; int j = 0; for (i = 0; i 

接下来就是电脑在随机布局雷阵的函数,这个函数要用到rand() 函数,来产生随机值,在雷阵里面随机布雷。

 void set_mine(char mine[rows][cols]) { int count = Count; int x = 0; int y = 0; srand((unsigned)time(NULL)); while (count) { x = rand() % 9 + 1; y = rand() % 9 + 1; if (mine[x][y] == '0') { mine[x][y] = '1'; count--; } } }

再有就是计算雷的个数的函数,要讲某一个坐标位置的周围8个位置的雷的个数算出来,并且将个数显示出来

 int get_num(char mine[rows][cols], int x, int y) { int count = 0; if (mine[x - 1][y - 1] == '1')//左上方 { count++; } if (mine[x - 1][y] == '1')//左边 { count++; } if (mine[x - 1][y + 1] == '1')//左下方 { count++; } if (mine[x][y - 1] == '1')//上方 { count++; } if (mine[x][y + 1] == '1')//下方 { count++; } if (mine[x + 1][y - 1] == '1')//右上方 { count++; } if (mine[x + 1][y] == '1')//右方 { count++; } if (mine[x + 1][y + 1] == '1')//右下方 { count++; } return count; }

将扫雷函数的各个函数都实现了之后,我们来看一下完整的代码

头文件game.h 

 #define _CRT_SECURE_NO_WARNINGS 1 #include #include #include #include #define rows 11 #define cols 11 #define Count 10 int menu();//菜单函数 void display(char show[rows][cols]); int Game(char mine[rows][cols],char show[rows][cols]);//游戏 void set_mine(char mine[rows][cols]);//设置雷的位置 int Sweep(char mine[rows][cols], char show[rows][cols]);//开始扫雷 int get_num(char mine[rows][cols], int x, int y);//计算雷的个数

实现函数 game.c

 #include"game.h" //菜单函数 int menu() { printf("********************************************\n"); printf("********************************************\n"); printf("*************welcome to saolei*************\n"); printf("*************  1.   play  *************\n"); printf("*************  0.   exit  *************\n"); printf("********************************************\n"); printf("********************************************\n"); return 0; } //设置雷的位置 void set_mine(char mine[rows][cols]) { int count = Count; int x = 0; int y = 0; srand((unsigned)time(NULL)); while (count) { x = rand() % 9 + 1; y = rand() % 9 + 1; if (mine[x][y] == '0') { mine[x][y] = '1'; count--; } } } //打印下棋完了显示的界面 void display(char show[rows][cols]) { int i = 0; int j = 0; printf(" "); for (i = 1; i 

最后就是测试函数 text.c

 #include"game.h" int main() { int input = 0; char mine[rows][cols]; char show[rows][cols]; int i = 0; int j = 0; for (i = 0; i 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持html中文网。

以上就是C语言实现简易扫雷小游戏的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » C语言