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

定制网站制作报价免费小程序开发制作

定制网站制作报价,免费小程序开发制作,外国食品优秀设计网站,工程建设与设计期刊先开一个test.c文件用来游戏的逻辑测试#xff0c;在分别开一个game.c文件和game.h头文件用来实现游戏的逻辑 主要步骤#xff1a; 游戏规则#xff1a; 输入1#xff08;0#xff09;开始#xff08;结束#xff09;游戏#xff0c;输入一个坐标#xff0c;如果该坐…  先开一个test.c文件用来游戏的逻辑测试在分别开一个game.c文件和game.h头文件用来实现游戏的逻辑 主要步骤 游戏规则 输入10开始结束游戏输入一个坐标如果该坐标不是雷则会显示该坐标周围有几个雷 打印菜单 void menu() {printf(**************************\n);printf(********* 1.play *********\n);printf(********* 0.exit *********\n);printf(**************************\n); } 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);}} while (input);return 0; } 打印棋盘 写两个数组一个是用来打印给玩家看的棋盘一个是用来放置炸弹的隐藏棋盘等到游戏结束我们才会打印这个棋盘。然后我们给数组初始化用*来初始化我们给玩家看的棋盘用字符‘0’初始化隐藏棋盘。 char mine[ROWS][COLS] { 0 };char show[ROWS][COLS] { 0 };//初始化棋盘InitBoard(show, ROWS, COLS, *);InitBoard(mine, ROWS, COLS, 0);//打印棋盘DisPalyBoard(show, ROW, COL);//DisPalyBoard(mine, ROW, COL);打印行列 因为我们是用坐标来选择排雷的所以我们需要在棋盘的周围打印出行列才可以让玩家更好的去选择。 首先在打印棋盘for循环上方加上一个打印0~9的for循环就可以打印出棋盘的行了然后用打印列的for循环套在打印棋盘的for循环上就可以打印出棋盘的列了。 ​ void DisPalyBoard(char arr[ROWS][COLS], int row, int col) {printf(------扫雷游戏------\n);​int i 0;//打印行的for循环for (i 0; i col; i){printf(%d , i);}printf(\n);//打印列的for循环for ( i 1; i row; i) {printf(%d , i);//打印棋盘的for循环for (int j 1; j col; j){printf(%c , arr[i][j]);}printf(\n);} }​ 放置炸弹 要想棋盘上随机分布十个炸弹炸弹我们用字符‘1’定义我们就需要生成随机数使数组的随机十个元素等于字符‘1’而生成随机数就需要调用到前面我写猜数字游戏时讲过的rand函数、srand函数、time函数了。 void SetMine(char arr[ROWS][COLS], int row, int col) {int count EsayCount;while (count){int x rand() % row 1;int y rand() % col 1;if (arr[x][y] 0)//防止生成相同随机数时使多个炸弹放置在同一位置{arr[x][y] 1;count--;}} } 排查炸弹 当我们输入一个坐标后如果时炸弹结束游戏如果不是炸弹则需要显示炸弹的数量。 判断是否是炸弹只需写一个if语句判断该坐标中数组所对应的元素是否等于‘1’就行了。 显示周围有几个雷我们就需要将所选坐标的周围的数加起来就可以了这些加起来的数的和替换所选坐标的元素就可以了。 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 1] mine[x - 1][y 1] mine[x 1][y] mine[x][y 1] - 8 * 0); } void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col) {int x 0, y 0;int win 0;while (win row*col - EsayCount){printf(请输入要排查的坐标:);scanf(%d %d, x, y);if (x 1 x row y 1 y col){if (mine[x][y] 1){printf(很遗憾你被炸死了\n);DisPalyBoard(mine, ROW, COL);break;}else{//该坐标不是雷就得统计该坐标的周围有几个雷int count GetMineCount(mine, x, y);show[x][y] count 0;DisPalyBoard(show, ROW, COL);win;}}else{printf(坐标非法,请重新输入\n);}}if (win row * col - EsayCount){printf(恭喜你排雷成功\n);DisPalyBoard(mine, ROW, COL);} }游戏可改性 因为在写这个程序时需要输入很多的数字如果我们想修改这些数时就要一个一个改这样非常的麻烦。为了避免这些麻烦我们只需要在头文件定义某字符等于某个数字就可以了这样我们想改游戏参数的时候在头文件game.h改就行了。 #define ROW 9 #define COL 9#define ROWS ROW2 #define COLS COL2 #define EsayCount 10 比如当我们想改行和列改为16炸弹数量改为40的时候我们只需要在头文件将ROW 与 COL定义为16就可以了。 #define ROW 16 #define COL 16#define ROWS ROW2 #define COLS COL2 #define EsayCount 40 完整代码 game.h头文件 #pragma once#includestdio.h #includestdlib.h #includetime.h#define ROW 9 #define COL 9#define ROWS ROW2 #define COLS COL2 #define EsayCount 10 //初始化棋盘 void InitBoard(char arr[ROWS][COLS], int rows, int cols, char test); //打印棋盘 void DisPalyBoard(char arr[ROW][COL], int row, int col); //布置雷的信息 void SetMine(char arr[ROWS][COLS], int row, int col); //排查雷 void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col); test.c #includegame.hvoid 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 };//初始化棋盘InitBoard(show, ROWS, COLS, *);InitBoard(mine, ROWS, COLS, 0);//打印棋盘DisPalyBoard(show, ROW, COL);//DisPalyBoard(mine, ROW, COL);//随机布置10个雷SetMine(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);}} while (input);return 0; } game.c #includegame.h void InitBoard(char arr[ROWS][COLS], int rows, int cols, char set) {int i 0;for (i 0; i rows; i){for (int j 0; j cols; j){arr[i][j] set;}} } void DisPalyBoard(char arr[ROWS][COLS], int row, int col) {printf(------扫雷游戏------\n);int i 0;for (i 0; i col; i){printf(%d , i);}printf(\n);for ( i 1; i row; i){printf(%d , i);for (int j 1; j col; j){printf(%c , arr[i][j]);}printf(\n);} }void SetMine(char arr[ROWS][COLS], int row, int col) {int count EsayCount;while (count){int x rand() % row 1;int y rand() % col 1;if (arr[x][y] 0){arr[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 1] mine[x - 1][y 1] mine[x 1][y] mine[x][y 1] - 8 * 0); } void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col) {int x 0, y 0;int win 0;while (win row*col - EsayCount){printf(请输入要排查的坐标:);scanf(%d %d, y, x);if (x 1 x row y 1 y col){if (mine[x][y] 1){printf(很遗憾你被炸死了\n);DisPalyBoard(mine, ROW, COL);break;}else{//该坐标不是雷就得统计该坐标的周围有几个雷int count GetMineCount(mine, x, y);show[x][y] count 0;DisPalyBoard(show, ROW, COL);win;}}else{printf(坐标非法,请重新输入\n);}}if (win row * col - EsayCount){printf(恭喜你排雷成功\n);DisPalyBoard(mine, ROW, COL);} }效果图 游戏后续优化 2.如果排查位置不是雷周围也没有雷可以展开一片。 3.增加一个计时功能。 网页版扫雷 扫雷游戏网页版 - Minesweeper
文章转载自:
http://www.morning.lnrr.cn.gov.cn.lnrr.cn
http://www.morning.rqmqr.cn.gov.cn.rqmqr.cn
http://www.morning.ndrzq.cn.gov.cn.ndrzq.cn
http://www.morning.gyrdn.cn.gov.cn.gyrdn.cn
http://www.morning.jrslj.cn.gov.cn.jrslj.cn
http://www.morning.plchy.cn.gov.cn.plchy.cn
http://www.morning.yhpq.cn.gov.cn.yhpq.cn
http://www.morning.rnfn.cn.gov.cn.rnfn.cn
http://www.morning.c7512.cn.gov.cn.c7512.cn
http://www.morning.qkdbz.cn.gov.cn.qkdbz.cn
http://www.morning.ssqwr.cn.gov.cn.ssqwr.cn
http://www.morning.qwpdl.cn.gov.cn.qwpdl.cn
http://www.morning.knwry.cn.gov.cn.knwry.cn
http://www.morning.bnlkc.cn.gov.cn.bnlkc.cn
http://www.morning.nhlnh.cn.gov.cn.nhlnh.cn
http://www.morning.mflqd.cn.gov.cn.mflqd.cn
http://www.morning.mfsxd.cn.gov.cn.mfsxd.cn
http://www.morning.21r000.cn.gov.cn.21r000.cn
http://www.morning.jjtwh.cn.gov.cn.jjtwh.cn
http://www.morning.cpkcq.cn.gov.cn.cpkcq.cn
http://www.morning.tqwcm.cn.gov.cn.tqwcm.cn
http://www.morning.bmzxp.cn.gov.cn.bmzxp.cn
http://www.morning.cpnsh.cn.gov.cn.cpnsh.cn
http://www.morning.zmlnp.cn.gov.cn.zmlnp.cn
http://www.morning.cwgt.cn.gov.cn.cwgt.cn
http://www.morning.mnjyf.cn.gov.cn.mnjyf.cn
http://www.morning.rlcqx.cn.gov.cn.rlcqx.cn
http://www.morning.qbzfp.cn.gov.cn.qbzfp.cn
http://www.morning.qckwj.cn.gov.cn.qckwj.cn
http://www.morning.wfbs.cn.gov.cn.wfbs.cn
http://www.morning.ktbjk.cn.gov.cn.ktbjk.cn
http://www.morning.krzrg.cn.gov.cn.krzrg.cn
http://www.morning.sffkm.cn.gov.cn.sffkm.cn
http://www.morning.guofenmai.cn.gov.cn.guofenmai.cn
http://www.morning.tgnr.cn.gov.cn.tgnr.cn
http://www.morning.qnqt.cn.gov.cn.qnqt.cn
http://www.morning.rlbg.cn.gov.cn.rlbg.cn
http://www.morning.duqianw.com.gov.cn.duqianw.com
http://www.morning.qnlbb.cn.gov.cn.qnlbb.cn
http://www.morning.tkrdg.cn.gov.cn.tkrdg.cn
http://www.morning.hlnrj.cn.gov.cn.hlnrj.cn
http://www.morning.nyplp.cn.gov.cn.nyplp.cn
http://www.morning.jpnw.cn.gov.cn.jpnw.cn
http://www.morning.klzt.cn.gov.cn.klzt.cn
http://www.morning.mumgou.com.gov.cn.mumgou.com
http://www.morning.jcyrs.cn.gov.cn.jcyrs.cn
http://www.morning.bpmtz.cn.gov.cn.bpmtz.cn
http://www.morning.jxfmn.cn.gov.cn.jxfmn.cn
http://www.morning.bfhrj.cn.gov.cn.bfhrj.cn
http://www.morning.pffx.cn.gov.cn.pffx.cn
http://www.morning.lgnz.cn.gov.cn.lgnz.cn
http://www.morning.kwrzg.cn.gov.cn.kwrzg.cn
http://www.morning.qtkdn.cn.gov.cn.qtkdn.cn
http://www.morning.thzwj.cn.gov.cn.thzwj.cn
http://www.morning.prqdr.cn.gov.cn.prqdr.cn
http://www.morning.xplng.cn.gov.cn.xplng.cn
http://www.morning.kybjr.cn.gov.cn.kybjr.cn
http://www.morning.muniubangcaishui.cn.gov.cn.muniubangcaishui.cn
http://www.morning.hprmg.cn.gov.cn.hprmg.cn
http://www.morning.hmwjk.cn.gov.cn.hmwjk.cn
http://www.morning.bpmtq.cn.gov.cn.bpmtq.cn
http://www.morning.xtgzp.cn.gov.cn.xtgzp.cn
http://www.morning.twfdm.cn.gov.cn.twfdm.cn
http://www.morning.xgxbr.cn.gov.cn.xgxbr.cn
http://www.morning.plzgt.cn.gov.cn.plzgt.cn
http://www.morning.dndjx.cn.gov.cn.dndjx.cn
http://www.morning.kphyl.cn.gov.cn.kphyl.cn
http://www.morning.abgy8.com.gov.cn.abgy8.com
http://www.morning.mnkz.cn.gov.cn.mnkz.cn
http://www.morning.xhddb.cn.gov.cn.xhddb.cn
http://www.morning.jhrtq.cn.gov.cn.jhrtq.cn
http://www.morning.dtmjn.cn.gov.cn.dtmjn.cn
http://www.morning.bhwll.cn.gov.cn.bhwll.cn
http://www.morning.yhtnr.cn.gov.cn.yhtnr.cn
http://www.morning.ndmbd.cn.gov.cn.ndmbd.cn
http://www.morning.wflpj.cn.gov.cn.wflpj.cn
http://www.morning.gbnsq.cn.gov.cn.gbnsq.cn
http://www.morning.tcylt.cn.gov.cn.tcylt.cn
http://www.morning.klcdt.cn.gov.cn.klcdt.cn
http://www.morning.dzgmj.cn.gov.cn.dzgmj.cn
http://www.tj-hxxt.cn/news/252974.html

相关文章:

  • 科技公司网站响应式上海高端网站建设定制
  • 网站用户界面ui设计细节搭建网站大概多少钱
  • wamp搭建多个网站珠宝购物网站的建设
  • 巩义网站建设方式优化网络营销推广策略包括哪些
  • 织梦生成网站地图wordpress docker镜像
  • 做网站赚钱还是做应用赚钱查询创意设计素材的软件
  • 网站建设氵金手指专业楼盘网站设计
  • 北京网站建设 知乎百度推广关键词怎么设置好
  • 个人免费建网站菠菜彩票网站怎么建设
  • 图书馆网站建设情况总结培训机构招生7个方法
  • 电商设计参考网站西安哪个公司做网站
  • 程序员创业做网站做公众号大连公司
  • 网站建设用阿里云的虚拟主机银川网站建设有哪些
  • 高校校园网站建设wordpress英文版切换中文
  • 网站建设策划包括哪些内容公司营销网站建设
  • 贡井移动网站建设建设一个网站首先需要
  • 办公室装修设计网站撩人的网站怎么做
  • 网做英文网站郑州服装网站建设
  • 专业做网站哪家好2024房价即将暴涨十大城市
  • 网站推广的技巧请人做网站要多少钱
  • 济南做网站的哪家好深圳十大装饰公司名单
  • 外贸建站是什么意思企业邮箱怎么登陆
  • 手机影视网站制作wordpress怎么删除主题
  • 网站制作公司制作网站的流程是怎样的呢可以看的网站都有哪些
  • 网站改版需要注意什么seo短视频加密路线
  • dedecms网站上传如何查询营业执照注册信息
  • 响应式网站制作方法足球网站模板
  • 电商网站购物流程免费搭建网站的平台
  • 广西建设厅网站公布专业的大良网站建设
  • 网站建设是干什么网站被百度惩罚怎么办