当前位置: 首页 > news >正文

赤峰市宁城县住房和建设局网站广告宣传网站

赤峰市宁城县住房和建设局网站,广告宣传网站,做首图的网站,wordpress视频发布站主题扫雷游戏的代码实现 game.h部分 //头文件 #include<stdio.h> #include<stdlib.h> #include<time.h> #define ROW 9//宏定义是为了方便以后修改棋盘的行和列 #define COL 9 #define ROWS ROW2//排查边缘行的雷时需向外延伸一行&#xff0c;共2个边缘行 #def…

扫雷游戏的代码实现

game.h部分

//头文件
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define ROW 9//宏定义是为了方便以后修改棋盘的行和列
#define COL 9
#define ROWS ROW+2//排查边缘行的雷时需向外延伸一行,共2个边缘行
#define COLS COL+2//排查边缘列的雷时需向外延伸一行,共2个边缘列
#define  EASY_COUNT 10
//函数声明//初始化棋盘
void InitBoard(char board[ROWS][COLS], int r, int c, char set);
//打印棋盘信息
void DisplayBoard(char board[ROWS][COLS] ,int r,int c);
//布置雷
void SetMine(char mine[ROWS][COLS],int  r,int c );
//排查雷
void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int r, int c);

game.c部分

#include"game.h"//调用自定义头文件,可以使用头文件里面的文件
void InitBoard(char board[ROWS][COLS], int r, int c,char set)//传参
{int i = 0;for (i = 0;i < r;i++){int j = 0;for (j = 0;j < c;j++) {board[i][j] = set;}}
}
void DisplayBoard(char board[ROWS][COLS], int r, int c)//打印棋盘
{int i = 0;printf("- - - - - -扫雷- - - - - -\n");//打印列号for (i = 0;i <= c;i++){printf("%d ", i);}printf("\n");for (i = 1;i <= r;i++){int j = 0;printf("%d ", i);for (j = 1;j <= r;j++){printf("%c ", board[i][j]);}printf("\n");}
}
void SetMine(char mine[ROWS][COLS], int r, int c)//布置雷
{int count = EASY_COUNT;while (count){//生成随机坐标//x的范围1~9,y的范围是1~9int x = rand() % r + 1;//调用函数(该函数包含在<stdlib.h>库中),随机生成数%行数+1,使得这个数在范围内int y = rand() % c + 1;if (mine[x][y] == '0'){mine[x][y] = '1';//布置雷count--;}}
}
static int GetMineCount(char mine[ROWS][COLS],int x,int y)//返回一个数,这个数是玩家所选位置周围雷的个数
{
//方法一:return mine[x][y + 1] + mine[x + 1][y + 1] + mine[x - 1][y] + mine[x - 1][y - 1] +mine[x][y - 1] + mine[x + 1][y - 1] + mine[x + 1][y] + mine[x + 1][y + 1] - 8 * '0';//方法二:
/*int i = 0;
int j = 0;
int c = 0;
for (i = -1;i <=1;i++)
{for (j = -1;j <= 1;j++){if (mine[x + i][y + j] == '1')c++;}
}
return c;*/
}
void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int r, int c)//排查雷
{int x = 0;int y = 0;int win = 0;while (win<r*c-EASY_COUNT) {printf("请输入要排查的坐标:");scanf("%d %d", &x, &y);//先判断坐标是否合法if (x >= 1 && x <= r && y >= 1 && y <= c){//再判断是否为雷if (mine[x][y] == '1'){printf("很遗憾,你被炸死了\n");DisplayBoard(mine, r, c);//失败后呈现所有雷的棋盘break;}else{//先看此位置是否被排除过if (show[x][y] =='*'){//统计mine数组中,x,y坐标周围有几个雷int c = GetMineCount(mine, x, y);show[x][y] = c + '0';DisplayBoard(show, ROW, COL);win++;}else{printf("该坐标已经被排查过,请重新输入坐标\n");}}}else{printf("输入的坐标非法,请重新输入\n");}}if (win == r * c - EASY_COUNT){printf("恭喜你,排雷成功\n");DisplayBoard(mine, ROW, COL);}
}

test.c部分

#include"game.h"void menu()
{printf("*********************************\n");printf("************   1.play  **********\n");printf("************   0.exit  **********\n");printf("*********************************\n");
}
void game()
{char mine[ROWS][COLS] = { 0 };//存放布置好的雷的信息char show[ROWS][COLS] = { 0 };//存放排查出的雷的信息//棋盘初始化//mine全为‘0’,表示还没有设置雷,所有位置都不是雷//show全为‘*’,表示所有位置都没有被排查InitBoard(mine,ROWS,COLS,'0');//这里的字符一会儿会被传参过去InitBoard(show, ROWS, COLS,'*');SetMine(mine, ROW, COL);//布置雷//DisplayBoard(mine, ROW, COL);//布置的雷不想被看到,注释掉就不会打印DisplayBoard(show, ROW, COL);//打印棋盘FindMine(mine,show,ROW,COL);//排查雷}
int main()//程序由此开始
{int input = 0;srand((unsigned int)time(NULL));//初始化随机数do{menu();//调用自定义函数打印菜单printf("请选择:>");scanf("%d", &input);switch (input){case 1:game();//玩游戏的逻辑,开始游戏的话调用此函数break;case 0:printf("退出游戏\n");break;default:printf("选择错误\n");break;}} while (input);return 0;
}
http://www.cadmedia.cn/news/1449.html

相关文章:

  • 网站备案需要哪些材料宁波seo外包服务
  • 公司网站总感觉少点什么找什么人做营销策划案
  • 珠海企业建站模板营销网络的建设怎么写
  • 汇云网站建设游戏推广员好做吗
  • 站规划在网站建设中的作用免费发帖推广网站
  • 阿里云网站建设 部署与发布答案产品营销策略怎么写
  • 网站建设与维护asp北京网站建设东轩seo
  • 五十一团 黑龙江生产建设兵团知青网站公司怎么做网站推广
  • 永登县建设局网站搜索引擎下载安装
  • 云南网站建设熊掌号百度平台客服
  • 网站建设的目标360营销
  • 广州建设网站公司网站平台做推广
  • 个人网站的设计论文一个新手如何推销产品
  • 网站dns解析设置爱站网能不能挖掘关键词
  • 合优网招聘什么是搜索引擎优化推广
  • 阳西县建设局网站百度图片识别在线识图
  • 通过输入域名访问自己做的网站google seo怎么做
  • 德阳市住房和城乡建设局网站手机清理优化软件排名
  • 网站设计与程序方向专业seo搜索优化是什么
  • 网站建设平台软件哪个好用百度电脑版官方下载
  • 建设银行网站广告留电话号的网站
  • 昆明网站建设公司哪家好青岛爱城市网app官方网站
  • 建设部网站建造师管理号企业网站优化工具
  • 品牌网站建设顾问黑帽seo什么意思
  • 南京市溧水城市建设集团网站seo和网络推广有什么区别
  • 网站建设参考文献目录上海外贸seo公司
  • 门户网站导航建设方案公司网站制作要多少钱
  • 商贸公司网站建设方案网络seo培训
  • 做网站推广费用5118数据分析平台官网
  • 建设网站多久到账抖音seo是什么意思