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

网站推广包年宽屏网站欣赏

网站推广包年,宽屏网站欣赏,电子商务网络安全,三河建设厅公示网站设计总体思路 实现游戏可以一直玩#xff0c;先打印棋盘#xff0c;玩家和电脑下棋#xff0c;最后分出胜负。 如果编写较大的程序#xff0c;我们可以分不同模块 例如这个扫雷#xff0c;我们可以创建三个文件 分别为#xff1a; game.h 函数的声明game.c 函数的… 设计总体思路 实现游戏可以一直玩先打印棋盘玩家和电脑下棋最后分出胜负。 如果编写较大的程序我们可以分不同模块 例如这个扫雷我们可以创建三个文件 分别为 game.h     函数的声明game.c     函数的实现test.c        测试游戏逻辑 一、打印游戏菜单界面 首先要有开始界面并且有选项选择开始你的游戏代码以及效果图如下 void menu() {printf(*********************************************\n);printf(************* 1. play *********\n);printf(************* 0. exit *********\n);printf(*********************************************\n); }int main() {srand((unsigned int)time(NULL)); //随机数 无符号整型 时间戳 //头文件stdlib.h time.hint 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; } 二、初始化棋盘 test.c void game() {//mine数组是专门存放布置好的雷的信息char mine[ROWS][COLS] {0};//show数组是专门存放排查出的雷的信息char show[ROWS][COLS] {0};//初始化棋盘InitBoard(mine, ROWS, COLS, 0);//0InitBoard(show, ROWS, COLS, *);//* } game.c void 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; #因为两次调用数组填充不同set(0,*)}} } 三、打印棋盘 test.c //打印棋盘 DisplayBoard(show, ROW, COL); //打印show数组 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);} } 四、布置雷 test.c //布置雷 SetMine(mine,ROW,COL); game.c void SetMine(char mine[ROWS][COLS], int row, int col) {int count EASY_COUNT;while (count){//rand()随机生成范围0-32767int x rand() % row 1;int y rand() % col 1;if (mine[x][y] 0){mine[x][y] 1;count--;}} } 五、排查雷 test.c //排查雷 FindMine(mine,show,ROW,COL); game.c 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);} } 六、最后整理代码完整代码 game.h #includestdio.h #includestdlib.h #includetime.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); game.c #define _CRT_SECURE_NO_WARNINGS 1 #includegame.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){//rand()随机生成范围0-32767int 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);} } test.c #define _CRT_SECURE_NO_WARNINGS 1 #includegame.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() {srand((unsigned int)time(NULL)); //随机数 无符号整型 时间戳 //头文件stdlib.h time.hint 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; }七、游戏展示 个人建议第一个坐标填1 1这样比较好排 扩展 展开一片 标记是否是雷 计时器 记录剩余雷数量 展开一片满足下列条件 该坐标不是雷该坐标周围没有雷该坐标没有被排查过 满足就再遍历该坐标周围的八个坐标 本文是简单版的扫雷之后我会出一个进阶版的扫雷 希望会对你有所帮助
http://www.zqtcl.cn/news/311175/

相关文章:

  • 起名网站建设商汇通网站
  • 网站开发费税率是多少钱建设小网站教程
  • 企业制作网站服务物联网应用有哪些
  • 中国建设网站银行个人做网站要注意什么条件
  • 莆田哪里有学做网站的wordpress可视化函数
  • 网站规划书500字上海金融网站制作网站制作公司好
  • 郑州网站制做钓鱼网站的公司
  • 网站域名授权怎么做以鹦鹉做头像的网站
  • 后端开发网站做一些什么WordPress能做门户网吗
  • 石家庄市住房和城乡建设厅网站好的企业型网站模板下载
  • 哈尔滨快速建站公司推荐网站刷流量会怎么样
  • 网站开发 顺德做新闻微网站有哪些
  • 如何阿里巴巴网站做推广苏州高新区建设局网站管网
  • 个人网站设计构思做汽车保养的网站
  • 在什么网站可以接国外的模具做中英文网站是怎么做的
  • 网站中的文字滑动怎么做的沈阳模板建站定制
  • 国内网站开发二手房网站开发背景
  • 电商网站建设与管理实践电商网站前端制作分工
  • 外贸公司怎么接订单网站编辑做seo好做吗
  • 科技企业网站建设珠海微信网站开发
  • 科凡网站建设小程序自己开发
  • 专门做金融的招聘网站wordpress 价格
  • 微商城网站建设信息定制程序网站
  • 电子政务网站开发餐饮品牌设计包括哪些
  • 深圳手机商城网站设计公司网站做会员用什么源码
  • 安康网站建设公司价格pathon做网站
  • jq网站模板宣城有做网站的公司吗
  • 江苏个人备案网站内容大连seo加盟
  • 服装网站建设公司地址公司网站建设需要注意什么
  • 免费行情软件网站下载安装电子商务网站建设实训报告