本篇文章为大家展示了利用C语言编写一个扫雷游戏,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
C语言是什么
C语言是一门面向过程的,抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言可以以简易的方式编译,处理低级存储器。
<强>主要思路:>强建立两个11乘以11的表格,分别为布雷和排雷后的表格,其中我们以字符1表示此处有雷,字符0表示此处无雷,在布雷时我们用时间函数布置随机的10个雷(具体多少个雷可自行选择),在另一个表格中显示出所选位置周围雷的个数
建立11 * 11的表格是因为便于统计四条边上位置周围含雷的个数
用vs建立<强>头文件强> game.n和两个<强>源文件强> game.c和测试。c
(先分开讲解,在文章最后有三个文件的整体显示)
在头文件中的声明有
# include# include # include # define ROW 9 # define COL 9 # define ROWS 行+ 2 # define COLS 坳+ 2 # define EASY 10
time.h和stdlib。h文件是time.h的库函数
行表示行,坳表示列,行表11列示,关口表示11行,简单表示(简单程度)雷有10个
首先在测试。c文件中建立主函数
int 主要() { ,int input =, 0; ,将srand ((unsigned int)时间(NULL)); ,做 ,{ ,菜单(); ,printf(“请选择:在“); ,scanf (“% d",,,输入); ,switch (输入) ,{ ,case 1: ,游戏();//实现游戏的过程 ,打破; ,case 0: ,printf(“退出游戏\ n"); ,打破; ,默认值: ,printf(“选择错误,请重新选择\ n"); ,打破; ,} ,}while (输入); ,return 0; }
其中将srand ((unsigned int)时间(NULL))是为了能够在使用兰德函数时每次产生不同的随机数
其中包含两个函数,分别为菜单函数菜单()和实现游戏的函数游戏()
<强>菜单函数强>为
void 菜单() { ,printf (“* * * * * * * * * * * * * * * * * * * * * * * * \ n"); ,printf (“* * * * *, 1. play * * * * * * * * * \ n"); ,printf (“* * * * *, 0. exit * * * * * * * * * \ n"); ,printf (“* * * * * * * * * * * * * * * * * * * * * * * * \ n"); }
主函数中整形输入为输入的数字,1进行游戏,0退出游戏
<强>进行的游戏函数强>为
void 游戏() { ,//创建棋盘对应的数组 ,char 我[行][关口];//布置好的雷的信息 ,char 显示(行)(关口);//排查出雷的信息 ,//初始化棋盘 ,initboard(行,我还以为,关口,& # 39;0 & # 39;); ,initboard(关口,,,行,,& # 39;* & # 39;); ,//打印棋盘 ,//displayboard(我的,,行,上校),, ,displayboard(显示,,行,上校); ,//布置雷 ,setmine(我的,,行,,,上校,简单); ,//displayboard(我的,,行,上校); ,//排雷 ,finemine(我的,,,,,,上校); }
<强> 1,创建棋盘强>
在游戏函数中我们首先创建两个11乘以11的棋盘,布置雷的棋盘为我(行)关口,在玩家面前显示的棋盘为显示(行)(关口)
<强> 2,初始化棋盘强>
在布置雷的棋盘中全部填写字符0,在玩家显示的棋盘面前全部填写为字符*,
头文件中声明
//初始化棋盘 void initboard (char 董事会(行)关口,,int 行,,int 关口,char 集);
游戏。c中具体写出函数
void initboard (char 董事会(行)关口,,int 行,,int 关口,,char 集) { ,int 小姐:=,0,,j =, 0; ,for (小姐:=,0;,小姐:& lt;,行;,我+ +) ,{ ,for (j =, 0;, j & lt;,关口;,j + +) ,{ ,董事会[我][j],=,设置; ,} ,} }
<强> 3,打印棋盘强>
头文件声明
//打印棋盘 void displayboard (char 董事会(行)关口,,int 行,int 坳);
游戏。c中具体写出函数
//打印棋盘 void displayboard (char 董事会(行)关口,,int 行,int 坳) { ,int 小姐:=,0,,j =, 0; ,printf(“- - - - - - - - - - - -扫雷游戏- - - - - - - - - - - - - \ n"); ,for (小姐:=,0;,小姐:& lt;=,坳;,我+ +) ,printf (“% d “,我); ,printf (“\ n"); ,for (小姐:=,1,,小姐:& lt;=,行;,我+ +) ,{ ,printf (“% d “,我);=,for (j 1;, j & lt;=,坳;,j + +) ,{ ,printf (“% c “,董事会[我][j]); ,} ,printf (“\ n"); ,} ,printf(“- - - - - - - - - - - -扫雷游戏- - - - - - - - - - - - - \ n"); }利用C语言编写一个扫雷游戏