利用C语言如何编写一个扫雷小游戏

  介绍

本篇文章给大家分享的是有关利用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"   # include      void  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语言如何编写一个扫雷小游戏