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

建设工程消防验收查询网站h5页面和小程序的页面有什么区别

建设工程消防验收查询网站,h5页面和小程序的页面有什么区别,开发一个平台需要多少钱,网站建设找丿金手指排名和三子棋一样#xff0c;主函数先设计游戏菜单界面#xff0c;这里就不做展示了。 初始化棋盘 初级扫雷大小为9*9的棋盘#xff0c;但排雷是周围一圈进行排雷(8格)#xff0c;而边界可能会越界。数组扩大了一圈,行和列都加了2#xff0c;所以我们用一个11*11的数组来初始化…  和三子棋一样主函数先设计游戏菜单界面这里就不做展示了。 初始化棋盘 初级扫雷大小为9*9的棋盘但排雷是周围一圈进行排雷(8格)而边界可能会越界。数组扩大了一圈,行和列都加了2所以我们用一个11*11的数组来初始化棋盘。 同时为了让玩家定位哪一行哪一列的坐标我们要将行列打印出来。 #define ROW 9 #define COL 9#define ROWS ROW2 #define COLS COL2 //初级10个雷 #define EASY_COUNT 10 由于是两个棋盘初始化我们可以多传一个字符参数初始化不同棋盘 void init_mine(char board[ROWS][COLS], int rows, int cols, char set) {for (int i 0; i rows; i){for (int j 0; j cols; j){board[i][j] set;}} } 棋盘打印 由于扫雷游戏的特殊性我们要设计两个棋盘一个用于放置雷的信息(存放两种字符0为无雷1为有雷)一个用于放排查出的雷信息(*为默认界面数字字符代表周围8格雷的个数)。 void display_board(char board[ROWS][COLS], int row, int col) {int i 0;int j 0;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);} } 由于数组是从下标一开始的这里我们防止打印的行列错位可以打印个0来对齐。 设置雷 在9*9棋盘里随机放雷雷用字符1表示初级放10个雷。 void set_mine(char mine[ROWS][COLS], int row, int col) {int n EASY_COUNT;while (n--){int i rand() % row1;//1~9int j rand() % col1;if (mine[i][j] 0)mine[i][j] 1;} } 效果 找雷 找雷要分几个流程先选择坐标然后显示该坐标是雷还是安全区如果是雷游戏结束。如果是安全区还需判断4周有多少雷获胜条件是将所有安全区标出即可胜利。 在此基础上还要检查坐标是否越界以及是否被排查过等问题。 void find_mine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col) {int x 0;int y 0;int win 0;while (win col * row - EASY_COUNT){printf(请输入要排查雷的坐标:);scanf(%d %d, x, y);if (x 1 x row y1 ycol){if (mine[x][y] ! 1){if (show[x][y] *){int ret get_mine_count(mine, x, y);show[x][y] ret 0;//得到雷的个数(字符)display_board(show, ROW, COL);win;}else printf(坐标被占用\n);}else{printf(踩雷了游戏结束\n);break;}}else{printf(坐标非法\n );}}if (win row * col - EASY_COUNT){printf(恭喜你排雷成功\n);display_board(mine, ROW, COL);} } 获取周围雷 我们用到0~1字符ascii码连续的特点(相差1)将8个坐标相加减去8个0的ASCII码值就得到雷的个数。 int get_mine_count(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);} 测试时我们可以将放雷的数组打印出来方便观察周围是否有相应个数的雷测试游戏胜利也可以将雷的个数设置多一些判断胜利是否正常输出。  完整代码 //game.c #include game.h void init_mine(char board[ROWS][COLS], int rows, int cols, char set) {for (int i 0; i rows; i){for (int j 0; j cols; j){board[i][j] set;}} } void display_board(char board[ROWS][COLS], int row, int col) {int i 0;int j 0;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 set_mine(char mine[ROWS][COLS], int row, int col) {int n EASY_COUNT;while (n--){int i rand() % row1;//1~9int j rand() % col1;if (mine[i][j] 0)mine[i][j] 1;} } static int get_mine_count(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 find_mine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col) {int x 0;int y 0;int win 0;while (win col * row - EASY_COUNT){printf(请输入要排查雷的坐标:);scanf(%d %d, x, y);if (x 1 x row y1 ycol){if (mine[x][y] ! 1){if (show[x][y] *){int ret get_mine_count(mine, x, y);show[x][y] ret 0;//得到雷的个数(字符)display_board(show, ROW, COL);win;}else printf(坐标被占用\n);}else{printf(踩雷了游戏结束\n);break;}}else{printf(坐标非法\n );}}if (win row * col - EASY_COUNT){printf(恭喜你排雷成功\n);display_board(mine, ROW, COL);} } //test.c#include game.hvoid menu() {printf( 1. play \n);printf( 0. exit \n); } void game() {char board[ROWS][COLS] { 0 };char show[ROWS][COLS] { 0 };init_mine(show, ROWS, COLS, *);init_mine(board, ROWS, COLS, 0);set_mine(board, ROW, COL);display_board(board, ROW, COL);display_board(show, ROW, COL);find_mine(board, show, ROW, COL);display_board(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; } //game.h #define _CRT_SECURE_NO_WARNINGS 1 #pragma once#include stdio.h #include stdlib.h #include time.h#define ROW 9 #define COL 9#define ROWS ROW2 #define COLS COL2 #define EASY_COUNT 10 void init_mine(char board[ROWS][COLS], int row, int col, char set);//打印棋盘 void display_board(char board[ROWS][COLS], int row, int col);//布置雷 void set_mine(char mine[ROWS][COLS], int row, int col);//排查雷 void find_mine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col);
http://www.dnsts.com.cn/news/182220.html

相关文章:

  • 金融网站模板源代码注册公司网站模版
  • 网站 拉新免费申请公司网站
  • 电脑做系统ppt下载网站好wordpress部分翻译无效
  • 金融网站模版下载北京南站是中高风险地区吗
  • 游戏网站建设策划方案模板php网站开发工程师找工作
  • 网站知识介绍产品开发流程图模板
  • 唐山市城乡建设网站网站建设一般用什么语言好
  • 在哪里能找到建网站网站的最近浏览 怎么做
  • 互联网网站开发服务合同四川工程造价信息网
  • 博客网站做外贸可以吗好口碑的网站制作安装价格
  • 好的专题网站石家庄城乡建设厅网站
  • wordpress改网站名字四川省住房和城乡建设厅网站打不开
  • 如何查询网站的空间商h5页面制作平台有哪些
  • 网站文件目录徐州网站建设魔站
  • 网站色哦优化8888自己网站做虚拟币违法吗
  • 中国建设教育协会网站培训中心WordPress语音朗读插件
  • 哪个网站内链建设好上传网站代码
  • 怎么做本地化网站公园网站建设方案
  • 成武菏泽网站建设《建设监理》网站
  • 青岛知名网站建设安徽旅游必去十大景点
  • 哪个旅游网站做的比较好什么网站做的好看的
  • 免费制作网站net域名制作免费制作个人网站怎么做
  • 123建站阿里云wordpress菜鸟
  • 商业网站开发的实训小结怎么写做网站 外文参考文献
  • 网校网站毕业设计的方案微信商家小程序怎么弄
  • 北京免费网站建设模板下载网站建设的学习方法
  • 婺源网站建设wyjcwl怎么做淘客网站推广
  • 济南市章丘区建设局网站河北省建设厅网站运行条件
  • 各大网站有哪些网络销售是什么意思
  • myeclipse怎样做网站移动应用开发专业学什么