介绍
本篇文章给大家分享的是有关利用C语言如何编写一个扫雷小游戏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
标志性图示。h中的代码如下:
里边放置的是相关的函数声明
# include# include # include # define ROWS 行+ 2 # define COLS 坳+ 2 # define EASY_COUNT 10 void InitBoard (char 董事会(行)关口,int 行,int 关口,char 集); void DisplayBoard (char 董事会(行)关口,int 行,int 坳); void SetMine (char 董事会(行)关口,int 行,int 坳); void FindMine (char 我(行)关口,char 显示(行)关口,int 行,int 坳);
saolei。c中的代码如下:
这里主要是实现菜单的打印以及棋盘的打印
# define _CRT_SECURE_NO_WARNINGS 1 # include" game1.h" void 菜单() { ,printf (“* * * * * * * * * * * * * * * * * * * * * * * * * * \ n"); ,printf (“* * * * * * *, 1. play * * * * * * * * * \ n"); ,printf (“* * * * * * *, 0. exit * * * * * * * * * \ n"); ,printf (“* * * * * * * * * * * * * * * * * * * * * * * * * * \ n"); } void 标志性图示() { ,//雷的信息存储 ,//布置好雷的信息 我,char (行)(关口)={0}; ,//排查出雷的信息 ,char 显示(行)(关口)={0}; ,//初始化 ,InitBoard(我、行关口,& # 39;0 & # 39;); ,InitBoard(显示、行关口,& # 39;* & # 39;); ,DisplayBoard(显示、行坳); ,//布置雷 ,SetMine(矿山、行、坳); ,//扫雷 ,FindMine(矿山、展示、行,坳); } void saolei () { ,int 输入=0; ,将srand ((unsigned int)时间(NULL)); ,做 ,{ ,菜单(); ,printf(“请选择:“); ,scanf (“% d",,输入); ,开关(输入) ,{ ,case 1: ,标志性图示(); ,打破; ,case 0: ,printf(“退出游戏\ n"); ,打破; ,默认值: ,printf(“选择错误,请重新选择! \ n"); ,打破; ,} ,},(输入); } int main () { ,saolei (); ,return 0; }
标志性图示。c中的代码如下:
主要是玩家玩游戏排雷的整个游戏过程的相关函数操作。
# define _CRT_SECURE_NO_WARNINGS 1 # include" game1.h" # includevoid InitBoard (char 董事会(行)关口,int 行,int 关口,char 集) { ,int i=0; ,int j=0; ,(i=0; i<行;我+ +) ,{ ,(j=0; j<关口;j + +) ,{ ,董事会[我][j]=设置; ,} ,} } void DisplayBoard (char 董事会(行)关口,int 行,int 坳) { ,int i=0; ,int j=0; ,(i=0; i<=坳;我+ +) ,{ ,printf (“% d “我); ,} ,printf (“\ n"); ,(i=1; i<=行;我+ +) ,{ ,printf (“% d “我); ,(j=1; j<坳;j + +) ,{ ,printf (“% c “[我][j]); ,} ,printf (“\ n"); ,} } void SetMine (char 董事会(行)关口,int 行,int 坳) { ,int 数=EASY_COUNT; ,而(计数) ,{ ,int x=rand() %行+ 1; ,int y=rand() %坳+ 1; ,如果董事会[x] [y]==& # 39; 0 & # 39;) ,{ ,董事会[x] [y]=& # 39; 1 & # 39;; ,计数, ,} ,} } int get_mine_count (char 我(行)关口,int x, int y) { return 才能;我的[x - 1] [y] + ,我的[x - 1] [y-1] + ,我的[x] [y-1] + 我,[x + 1] [y-1] + 我,[x + 1] [y] + 我,[x + 1] [y + 1] + ,我的[x] [y + 1] + ,我的[x - 1] [y + 1] 8 * & # 39; 0 & # 39;; } void FindMine (char 我(行)关口,char 显示(行)关口,int 行,int 坳) { ,int x=0; ,int y=0; ,int 赢得=0; ,而(win<行* col-EASY_COUNT) ,{ ,printf(“请输入排查雷的坐标:“); scanf才能(“% d % d",, x,, y); ,如果(x>=1,, x<=row&, y>=1,, y<=坳) {才能 ,如果(我的[x] [y]==& # 39; 1 & # 39;) ,{ ,printf(“很遗憾,你被炸死了\ n"); ,DisplayBoard(矿山、行、坳); ,打破; ,} 其他的, ,{ ,int 数=get_mine_count(我的,x, y); ,显示[x] [y]=数+ & # 39;0 & # 39;; ,DisplayBoard(显示、行坳); ,赢得+ +; ,} ,,} 其他的, ,{ ,,printf(“输入坐标非法,请重新输入!“); ,,} ,} ,如果(赢了==win 利用C语言如何编写一个扫雷小游戏