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

做旅游网站公司杭州室内设计工作室

做旅游网站公司,杭州室内设计工作室,流媒体网站开发,电子商务网站建设和管理的含义扫雷的实现1. 配置运行环境2. 扫雷游戏的初步实现2.1 建立扫雷分布模块2.2 创建名为board的二维数组并进行棋盘初始化2.3 打印棋盘3. 接下来该讨论的事情3.1 布置雷3.2 排查雷3.3 统计坐标周围有几个雷4. 完整扫雷游戏的实现4.1 game.h4.2 game.c4.3 扫雷.c1. 配置运行环境 本游… 扫雷的实现1. 配置运行环境2. 扫雷游戏的初步实现2.1 建立扫雷分布模块2.2 创建名为board的二维数组并进行棋盘初始化2.3 打印棋盘3. 接下来该讨论的事情3.1 布置雷3.2 排查雷3.3 统计坐标周围有几个雷4. 完整扫雷游戏的实现4.1 game.h4.2 game.c4.3 扫雷.c1. 配置运行环境 本游戏用到了三个文件 两个源文件扫雷.c game.c 一个头文件game.h 2. 扫雷游戏的初步实现 2.1 建立扫雷分布模块 想要做好游戏首要任务就是要把模块想好。 先打印一个游戏菜单 void menu() {printf(********************************\n);printf(********** 1.play ***********\n);printf(********** 0.exit ***********\n);printf(********************************\n); } 玩家选择是否1\0是否进入游戏 int main() {int input 0;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; }游戏思路这次实现的是初级难度的扫雷棋盘9X910个雷 2.2 创建名为board的二维数组并进行棋盘初始化 我们先创建两个二维数组一个数组布置雷方便我们统计雷的数量另一个数组打印出来给用户看棋盘大小为11X11。用户输入一个合法坐标我们判断该坐标是不是雷如果是就游戏结束不是就遍历该坐标周围8个位置通过布置雷的那个棋盘统计雷的数量比如说是3个就在给用户看的数组上面把对应的坐标替换成字符‘3’。 11X11的棋盘是为了方便统计棋盘边缘的雷的数量这样就不会越界访问了用户进行扫雷的棋盘是9X9 初始化棋盘。 #define ROW 9 #define COL 9 #define ROWS ROW2 #define COLS COL2#define EASY_COUNT 10#include stdio.h #include stdlib.h #include time.h//初始化棋盘 void InitBoard(char board[ROWS][COLS], int rows, int cols, char set);我们先创建个11X11的char型的二维数组。 set变量代表着两个初始化11*11的棋盘用0和 * 代替 ROW和COL是我们对两个数组操作时需要用到的ROWS和COLS是我们传递数组给函数时告诉函数这是11X11的数组。 #include game.hvoid InitBoard(char board[ROWS][COLS], int rows, int cols,char set) {int i 0;int j 0;for (i 0; i rows; i){for (j 0; j cols; j){board[i][j] set;}} }2.3 打印棋盘 game.h声明 //打印棋盘 void DisplayBoard(char board[ROWS][COLS], int row, int col);game.c打印 void DisplayBoard(char board[ROWS][COLS], int row, int col) {int i 0;int j 0;printf(******* 扫雷 *******\n);for (j 0; j col; j){printf(%d , j);}printf(\n);for (i 1; i row; i){printf(%d , i);for (j 1; j col; j){printf(%c , board[i][j]);}printf(\n);} }3. 接下来该讨论的事情 3.1 布置雷 game.h声明 //布置雷 void SetMine(char mine[ROWS][COLS], int row, int col);game.c打印 void SetMine(char mine[ROWS][COLS], int row, int col) {int count EASY_COUNT;while (count){//rand能产生的随机数范围是0~32767//0~81//1~9//srand((unsigned int)time(NULL))使用randint x rand() % row 1;int y rand() % col 1;if (mine[x][y] 0){mine[x][y] 1;count--;}} }3.2 排查雷 game.h声明 //排查雷 void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col);game.c打印 void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col) {int x 0;int y 0;int win 0;while (winrow*col-EASY_COUNT){printf(请输入要排查的坐标:);scanf(%d %d, x, y);if (x 1 x row y 1 y col){if (show[x][y] *){if (mine[x][y] 1){printf(很遗憾你被炸死\n);DisplayBoard(mine, ROW, COL);break;}else{//如果该坐标不是雷就要统计这个坐标周围有几个雷int count GetMineCount(mine, x, y);show[x][y] count 0;DisplayBoard(show, ROW, COL);win;}}else{printf(该位置已经被排查\n);}}else{printf(排查的坐标非法请重新输入\n);}}if (win row * col - EASY_COUNT){printf(恭喜你排雷成功\n);DisplayBoard(mine, ROW, COL);} }3.3 统计坐标周围有几个雷 int GetMineCount(char mine[ROWS][COLS], int x, int y) {return (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] mine[x][y 1] mine[x - 1][y 1] - 8 * 0); }4. 完整扫雷游戏的实现 4.1 game.h #define ROW 9 #define COL 9 #define ROWS ROW2 #define COLS COL2#define EASY_COUNT 10#include stdio.h #include stdlib.h #include time.h//初始化棋盘 void InitBoard(char board[ROWS][COLS], int rows, int cols, char set);//打印棋盘 void DisplayBoard(char board[ROWS][COLS], int row, int col);//布置雷 void SetMine(char mine[ROWS][COLS], int row, int col);//排查雷 void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col); 4.2 game.c #include game.hvoid InitBoard(char board[ROWS][COLS], int rows, int cols,char set) {int i 0;int j 0;for (i 0; i rows; i){for (j 0; j cols; j){board[i][j] set;}} }void DisplayBoard(char board[ROWS][COLS], int row, int col) {int i 0;int j 0;printf(******* 扫雷 *******\n);for (j 0; j col; j){printf(%d , j);}printf(\n);for (i 1; i row; i){printf(%d , i);for (j 1; j col; j){printf(%c , board[i][j]);}printf(\n);} }void SetMine(char mine[ROWS][COLS], int row, int col) {int count EASY_COUNT;while (count){//0~32767//0~81//1~9int x rand() % row 1;int y rand() % col 1;if (mine[x][y] 0){mine[x][y] 1;count--;}} }int GetMineCount(char mine[ROWS][COLS], int x, int y) {return (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] mine[x][y 1] mine[x - 1][y 1] - 8 * 0); }void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col) {int x 0;int y 0;int win 0;while (winrow*col-EASY_COUNT){printf(请输入要排查的坐标:);scanf(%d %d, x, y);if (x 1 x row y 1 y col){if (show[x][y] *){if (mine[x][y] 1){printf(很遗憾你被炸死\n);DisplayBoard(mine, ROW, COL);break;}else{//如果该坐标不是雷就要统计这个坐标周围有几个雷int count GetMineCount(mine, x, y);show[x][y] count 0;DisplayBoard(show, ROW, COL);win;}}else{printf(该位置已经被排查\n);}}else{printf(排查的坐标非法请重新输入\n);}}if (win row * col - EASY_COUNT){printf(恭喜你排雷成功\n);DisplayBoard(mine, ROW, COL);} }4.3 扫雷.c #include game.hvoid menu() {printf(*******************************\n);printf(******* 1. play *******\n);printf(******* 0. exit *******\n);printf(*******************************\n); }void game() {//mine数组是专门存放布置好的雷的信息char mine[ROWS][COLS] {0};//show数组是专门存放排查出的雷的信息char show[ROWS][COLS] {0};//初始化棋盘InitBoard(mine, ROWS, COLS, 0);//0InitBoard(show, ROWS, COLS, *);//*//打印棋盘DisplayBoard(show, ROW, COL);//布置雷SetMine(mine, ROW, COL);//DisplayBoard(mine, 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.w-s-a.com/news/133929/

相关文章:

  • 微商城科技淄博网站建设优化seo
  • 杭州 网站设计制作东圃手机网站开发
  • 网站文章页内链结构不好可以改吗微信平台如何开发
  • 炫酷业务网站课程网站如何建设方案
  • 网站建设服务器可以租吗wordpress微信打赏
  • 网站制作的重要流程图大连网站优化快速排名
  • 河南省住房建设厅官方网站注册公司邮箱需要什么
  • 美橙网站注册华为手机网站建设策划方案论文
  • 河南省和建设厅网站首页在线图片翻译
  • 关于备案空壳网站清理通知去别人网站挂黑链
  • 做网站待遇世界购物平台排行榜
  • 售后服务网站什么网站免费做简历模板
  • 网站模板怎么修改成都网站优化seo
  • 给装修公司做推广的网站wordpress站点的根目录
  • 怎么创建企业网站wordpress怎么做404页面跳转
  • 福建省住房和建设厅网站网站做著作权
  • 编程代码网站网站搭建的注意事项
  • 音乐网站排名公司如何做自己的网站
  • 网站设计模式三网合一网站源代码
  • 珠海市品牌网站建设哪家好宛城区网站制作
  • 网站维护工程师代写文章兼职
  • 贵州城乡和建设厅网站企业网站备案名称窍门
  • .cc后缀网站湛江霞山
  • 青岛制作网站软件ui设计培训哪里好
  • 网站建设的构思环保公司宣传册设计样本
  • 如何做微网站网站和网店的区别
  • 免费下载建设银行官方网站下载天河区做网站
  • 中文网站建设开发北京网站建设公司升上去
  • 邯郸网站设计 贝壳下拉服务器绑定网站打不开
  • 重庆网站建设帝玖科技手机网站建设价钱是多少