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

qq创号申请注册网站网站建设推荐郑国华

qq创号申请注册网站,网站建设推荐郑国华,美术字设计,住建局投诉电话965559扫雷游戏的源代码比较简单#xff0c;不设计比较复杂的代码#xff0c;主要是多个函数的组合#xff0c;每个函数执行自己的功能#xff0c;最终支持游戏的完成。 1.菜单 我们需要一个提醒信息来让用户进行选择。 void menu() {printf(***********************\n不设计比较复杂的代码主要是多个函数的组合每个函数执行自己的功能最终支持游戏的完成。 1.菜单 我们需要一个提醒信息来让用户进行选择。 void menu() {printf(***********************\n);printf(******1. play *****\n);printf(******0.exit *****\n);printf(***********************\n); } void test() {int input 0;do{menu();printf(请选择\n);scanf(%d, input);switch (input){case 1:printf(扫雷\n);break;case 0:printf(退出游戏\n);break;default:printf(选择错误重新选择\n);break;}} while (input); } 2.游戏代码的实现  运用二维数组来制定表格当是雷的时候我们填补空格为*当不是雷的时候我们填补空格为0再创建一个相同的表格将我们在玩游戏过程中排查到的雷的情况显示出来。在实际创建表格的过程中行和列均比所需要的多一行例如如果棋盘的大小是9*9则数组的大小就为11*11。这样有利于我们对于雷的排查雷的排查需要以排查的对象为中心知道所有周围雷的情况。 游戏代码我们用两个文件来实现game.c和game.h 在game.h 中主要包含的是所需要函数的声明在game.c中是对各个函数的实现。 首先我们需要对两个表格进行初始化。 2.1 表格初始化 函数的声明为 //初始化棋盘 void InitBoard(char board[ROWS][COLS], int rows, int cols, char set); 函数的代码实现 void InitBoard(char board[ROWS][COLS], int rows, int cols, char set) {int i 0;for (i 0; i rows; i){int j 0;for (j 0; j cols; j){board[i][j] set;}} } 2.2 打印棋盘  为了方便后续对于表盘中位置的确定在打印棋盘的时候我们将坐标也标了出来。 DisplayBoard(char board[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);int j 0;for (j 1; j col; j){printf(%c , board[i][j]);}printf(\n);} } 2.3 布置雷  在布置雷的时候我们要确定雷的个数除此之外我们还要确保雷位置的随机性。 void SetMine(char mine[ROWS][COLS], int row, int col) {int count EASY_COUNT;int x 0;int y 0;while (count){x rand()%row1;y rand()%col1;if (mine[x][y] ! 1){mine[x][y] 1;count--;}} }2.4 排查雷 在排查雷时当我们所确定的位置不是雷那么就要计算其周围的雷的个数这里就需要一个函数来进行实现。 int GetMineCount(char mine[ROWS][COLS], int x, int y) {int i 0;int j 0;int sum 0;for (i x - 1; i x 1; i){for (j y - 1; j y 1; j){sum (mine[i][j] - 0);}}return sum; } 由于只有八个数相加因此除了这个办法之外我们还可以直接让它们进行相加即可。 接下来我们就进行了排查雷的工作要注意的是当经历每个循环时我们要判断用户是否把每个雷都排查了出来所以我们还要有一个判断的步骤。  void FindMine(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(请输入要排查的坐标\n);scanf(%d %d, x, y);if ((x 1 x row) (y 1 y col)){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);}}if (win row * col - EASY_COUNT){printf(恭喜你排雷成功!\n);DisplayBoard(mine, ROW, COL);} } 3.源代码展示  3.1 test.c 中的代码  #define _CRT_SECURE_NO_WARNINGS 1 #includegame.h void menu() {printf(***********************\n);printf(******1. play *****\n);printf(******0.exit *****\n);printf(***********************\n); }void game() {char mine[ROWS][COLS];//存放雷的信息char show[ROWS][COLS];//存放排查出雷的信息//初始化棋盘InitBoard(mine, ROWS, COLS, 0);InitBoard(show, ROWS, COLS, *);//打印棋盘DisplayBoard(show, ROW, COL);printf(\n);//布置雷SetMine(mine, ROW, COL);//DisplayBoard(mine, ROW, COL);//排查雷FindMine(mine, show, ROW, COL); }void test() {srand((unsigned int)time(NULL));int input 0;do{menu();printf(请选择\n);scanf(%d, input);switch (input){case 1:printf(扫雷\n);game();break;case 0:printf(退出游戏\n);break;default:printf(选择错误重新选择\n);break;}} while (input); }int main() {test();return 0; } 3.2 game.h 中的代码 #pragma once#includestdio.h #includestdlib.h #includetime.h#define ROW 9 #define COL 9#define ROWS ROW2 #define COLS COL2 #define EASY_COUNT 10//初始化棋盘 void InitBoard(char board[ROWS][COLS], int rows, int cols, char set); //打印棋盘 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); 3.3 game.c 中的代码 #define _CRT_SECURE_NO_WARNINGS 1 #includegame.hvoid InitBoard(char board[ROWS][COLS], int rows, int cols, char set) {int i 0;for (i 0; i rows; i){int j 0;for (j 0; j cols; j){board[i][j] set;}} }DisplayBoard(char board[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);int j 0;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;int x 0;int y 0;while (count){x rand()%row1;y rand()%col1;if (mine[x][y] ! 1){mine[x][y] 1;count--;}} }int GetMineCount(char mine[ROWS][COLS], int x, int y) {int i 0;int j 0;int sum 0;for (i x - 1; i x 1; i){for (j y - 1; j y 1; j){sum (mine[i][j] - 0);}}return sum; }void FindMine(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(请输入要排查的坐标\n);scanf(%d %d, x, y);if ((x 1 x row) (y 1 y col)){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);}}if (win row * col - EASY_COUNT){printf(恭喜你排雷成功!\n);DisplayBoard(mine, ROW, COL);} } 总体来说代码实现简单思路也比较清晰今天就到这里我们下一个知识点见
http://www.hkea.cn/news/14556200/

相关文章:

  • 没有网站怎么做熊掌号国内精品电影资源
  • 网站建设可行性分析报告范文宁波网站建设使用技巧分享
  • 算命网站搭建网站二次开发是什么意思
  • 广西响应式网站建设山东专业网站解决方案制作
  • 网站的栏目是什么微信小程序开发工具教程
  • 网站开发实验报告三沈阳男科医院免费在线咨询
  • 专业做网站登录中文设置wordpress
  • 终端平台网站建设怎么用自己的服务器做网站
  • 企业微信网站建设方案模板下载网站买空间
  • 海南建设培训网站农技推广
  • 柳州公司网站制作公司自媒体平台app下载
  • 制作系部网站首页网站备案连接
  • 服务网站建设公司广东智能网站建设哪家有
  • 免费网站建设哪个好?辽宁城建设计院有限公司网站
  • 唯品会网站架构购物网站含有哪些模块
  • 上海做营销网站哪个公司好南昌高端网站开发费用表
  • 南昌网站seo哪家公司好腾讯云 门户网站建设
  • 广东白云手机网站建设网站设计与建设报告
  • 怎么在百度创建网站卖网站链接
  • 中细软网站建设同江佳木斯网站制作
  • 宁波网站建设ysdshwordpress api开发文档下载
  • 阳光家园广州网站网址网站项目遇到的问题
  • 坑梓网站建设价格字节跳动小程序官网
  • 免费管理软件开发平台怎么优化网站的单个关键词排名
  • 网站空间商 权限2022年最近一周新闻大事
  • 长沙人才网山西seo
  • 外贸网站商城建设可以自己做漫画的网站
  • 网站建设微信小程序开发o2o信息类平台有哪些
  • 合肥网站制作费用美团网站除佣金表格怎么做
  • 松岗专业做网站公司博客发布 网站模版