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

做软件跟网站哪个难做网站网站的代理算网站罪吗

做软件跟网站哪个难,做网站网站的代理算网站罪吗,商业网站建设大纲,发帖推广目录 一、前言#xff1a; 二、游戏规则#xff1a; 三、游戏前准备 四、游戏实现 1、打印菜单 2、初始化棋盘 3、打印棋盘 4、布置雷 5、排雷 五、完整代码 一、前言#xff1a; 用C语言完成扫雷游戏对于初学者来说#xff0c;难度并不是很大#xff0c;而且通…目录 一、前言 二、游戏规则 三、游戏前准备 四、游戏实现 1、打印菜单 2、初始化棋盘 3、打印棋盘 4、布置雷 5、排雷 五、完整代码 一、前言 用C语言完成扫雷游戏对于初学者来说难度并不是很大而且通过编程这个小游戏会让你对函数调用分支循环连续输入等有很好的掌握该过程并不涉及指针及以后的内容。 二、游戏规则 扫雷游戏规则十分简单比如9*9网格中就是在81个网格中找到其中的10颗雷并不被雷炸死。 三、游戏前准备 我们为了让代码更加简洁将代码分成三个文件中编写如图所示在test.c文件中放主函数 在game.h中放所需的头文件在gam.c中放调用的函数。 四、游戏实现 为了方便下面的讲解我先把主函数和头文件放出来 #includestdio.h #includetime.h #define ROW 9 #define COL 9 #define ROWS ROW2 #define COLS COL2 #define mine_count 10 void Initboard(char board[ROWS][COLS], int rows,int cols,char set); void Printboard(char board[ROWS][COLS], int row, int col); void Setmine(char board[ROWS][COLS],int row,int col); void Finemine(char mine[ROWS][COLS],char show[ROWS][COLS],int row,int col); game.h文件中放入头文件并定义全文所需的宏变量这样方便改动比如本篇讲述的是9*9网格的你只需将定义的9改成其他数据就可以得到一个10*10或其他的网格 #includegame.h void game() {char mine[ROWS][COLS];char show[ROWS][COLS];//第一步初始化棋盘Initboard(mine, ROWS, COLS,0);Initboard(show, ROWS, COLS,*);//第二步打印棋盘Printboard(show, ROW, COL);//第三步布置雷Setmine(mine, ROW, COL);//Printboard(mine, ROW, COL);//第四步排雷Finemine(mine, show, ROW, COL); } void menu() {printf(****************\n);printf(**** 1 play ****\n);printf(**** 0 exit ****\n);printf(****************\n); } int main() {int count 0;srand((unsigned int)time(NULL));do{menu();printf(请输入你的选择);scanf(%d, count);switch (count){case 1:game();break;case 0:printf(你已选择退出游戏\n);break;default:printf(这是一个不规范的选择请重新选择\n);break;}} while (count);return 0; } 通过主函数你应该能看出来我们实现这个游戏的逻辑是先打印出菜单告诉你不同的选择然后通过你的选择来判断是否进入游戏所以游戏大体分成以下几步 1、打印菜单 2、初始化棋盘 3、随机布置十颗雷 5、打印棋盘 4、排雷 下面我们逐步实现这几点 1、打印菜单 void menu() {printf(****************\n);printf(**** 1 play ****\n);printf(**** 0 exit ****\n);printf(****************\n); } 运行后可以打印出菜单 2、初始化棋盘 在game()函数中我们定义了两个字符数组 char mine[ROWS][COLS]; char show[ROWS][COLS]; //第一步初始化棋盘 Initboard(mine, ROWS, COLS,0); Initboard(show, ROWS, COLS,*); 其中第一个数组是雷盘布置雷在上面第二个数组是展示的告诉玩家游戏进行情况我们用0表示无雷可以先把雷盘全部初始化为‘0’展示盘全部初始化为‘*’ 具体函数如下 void Initboard(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;}} } 3、打印棋盘 在主函数中我们就提到了初始化后打印棋盘其实打印棋盘和布置雷两步可以互换先后顺序但是这里打印棋盘还可以用来检测上面初始化是否成功 //第二步打印棋盘Printboard(show, ROW, COL); 代码如下 void Printboard(char board[ROWS][COLS], int row, int col) {int i 0;int j 0;for (i 0; i row; i)printf(%d , i);printf(\n);for (i 1; i col; i){printf(%d , i);for (j 1; j row; j){printf(%c , board[i][j]);}printf(\n);} } 运行后结果如下 4、布置雷 //第三步布置雷Setmine(mine, ROW, COL);//Printboard(mine, ROW, COL);//这步可以用来检测雷是否布置成功如果怕出错可以用上 初始化棋盘之后就要在雷盘中随即找十个位置放雷也就是说要放进去十颗雷 void Setmine(char board[ROWS][COLS], int row, int show) {int num mine_count;while (num){int i rand() % 9 1;int j rand() % 9 1;if (board[i][j] 0){board[i][j] 1;num--;}} } 用‘1’表示雷就是将mine数组中随即找十个位置将‘0’换成‘1’表示在这里埋雷 5、排雷 排雷过程中只有两种结果一种是正好是雷那么就会炸死另一种则是不是雷如果不是雷我们应该把它周围有几个雷判断出来不然几乎不可能通关 代码如下 int lei_count(char mine[ROWS][COLS], int a, int b) {int count mine[a - 1][b - 1] mine[a - 1][b] mine[a - 1][b 1] mine[a][b - 1] mine[a][b 1] mine[a 1][b - 1] mine[a 1][b] mine[a 1][b 1] - 8 * 0;return count; } void Finemine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col) {int a, b;int wulei row * col - mine_count;while (wulei){printf(请输入你要检查的坐标);scanf(%d %d, a, b);if (a 0 a row b 0 b col){if (mine[a][b] 1){printf(抱歉这是雷你被炸死了\n);break;}else{//既然不是雷那就统计雷的数量int count lei_count(mine, a, b);show[a][b] count 0;Printboard(show, ROW, COL);wulei--;}}elseprintf(此坐标不存在请重新输入\n);} } 五、完整代码 game.h #includestdio.h #includetime.h #define ROW 9 #define COL 9 #define ROWS ROW2 #define COLS COL2 #define mine_count 10 void Initboard(char board[ROWS][COLS], int rows,int cols,char set); void Printboard(char board[ROWS][COLS], int row, int col); void Setmine(char board[ROWS][COLS],int row,int col); void Finemine(char mine[ROWS][COLS],char show[ROWS][COLS],int row,int col);test.c #includegame.h void game() {char mine[ROWS][COLS];char show[ROWS][COLS];//第一步初始化棋盘Initboard(mine, ROWS, COLS,0);Initboard(show, ROWS, COLS,*);//第二步打印棋盘Printboard(show, ROW, COL);//第三步布置雷Setmine(mine, ROW, COL);//Printboard(mine, ROW, COL);//第四步排雷Finemine(mine, show, ROW, COL); } void menu() {printf(****************\n);printf(**** 1 play ****\n);printf(**** 0 exit ****\n);printf(****************\n); } int main() {int count 0;srand((unsigned int)time(NULL));do{menu();printf(请输入你的选择);scanf(%d, count);switch (count){case 1:game();break;case 0:printf(你已选择退出游戏\n);break;default:printf(这是一个不规范的选择请重新选择\n);break;}} while (count);return 0; } game.c #includegame.h void Initboard(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 Printboard(char board[ROWS][COLS], int row, int col) {int i 0;int j 0;for (i 0; i row; i)printf(%d , i);printf(\n);for (i 1; i col; i){printf(%d , i);for (j 1; j row; j){printf(%c , board[i][j]);}printf(\n);} } void Setmine(char board[ROWS][COLS], int row, int show) {int num mine_count;while (num){int i rand() % 9 1;int j rand() % 9 1;if (board[i][j] 0){board[i][j] 1;num--;}} } int lei_count(char mine[ROWS][COLS], int a, int b) {int count mine[a - 1][b - 1] mine[a - 1][b] mine[a - 1][b 1] mine[a][b - 1] mine[a][b 1] mine[a 1][b - 1] mine[a 1][b] mine[a 1][b 1] - 8 * 0;return count; } void Finemine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col) {int a, b;int wulei row * col - mine_count;while (wulei){printf(请输入你要检查的坐标);scanf(%d %d, a, b);if (a 0 a row b 0 b col){if (mine[a][b] 1){printf(抱歉这是雷你被炸死了\n);break;}else{//既然不是雷那就统计雷的数量int count lei_count(mine, a, b);show[a][b] count 0;Printboard(show, ROW, COL);wulei--;}}elseprintf(此坐标不存在请重新输入\n);} } 用C语言解决扫雷游戏还是非常有意思的上面这种还是最简单的还有许多有趣的东西值得探索比如如何搞一个20*20的棋盘或如何用递归的方法实现快速展开如果想了解更多点击关注去学习更多C语言的知识。
http://www.pierceye.com/news/134732/

相关文章:

  • 如何高效的完成网站建设步骤美食分享网站建设策划书
  • 建立网站的软件网站建设数据库的购买
  • 建网站需要多大的宽带wordpress 分享后可见
  • 自建营销型企业网站阿里网 网站备案流程
  • 与网站建设相关的论文题目wordpress图片上文字
  • 怎样搭建网站视频教程58企业网站如何做
  • 比较有名的网站建设公司wordpress 字数
  • 网站内容资源建设渭南市建设项目
  • 网站设置的参数wordpress弹窗登录注册
  • 网课系统软件网站建设费用网站做vr的收费
  • 海宁做网站的公司seo怎么学在哪里学
  • 佛山做网站多少钱服务器学生
  • 自己建网站卖东西怎么进入wordpress修改界面
  • 网站建设与制作报价wordpress菜单怎么设置目录册
  • 学生免费建设网站建设网站是否等于开展网络营销
  • 旅游网站结构图网站编程图
  • 达内网站开发培训价格安装百度到手机桌面
  • 网站服务器慢建站设计网站
  • wordpress 多站点 插件怎么做网站主页设计
  • 网站建设初稿wordpress删除自豪的
  • 某网站突然不能浏览了网站不备案能用吗
  • 厦门做个网站多少钱360建筑网官网下载
  • 镇江外贸网站建设电子工程王粟
  • 申请网站建设经费wordpress做商城网站
  • google下载app西安分类信息seo公司
  • 淘宝是什么语言做的网站手机网站开发+手机模拟器
  • 视频网站开发框架小说类网站功能建设
  • 网站规划与设计案例网站建设方案设计
  • 漯河网站建设费用成都网站建设重庆最加科技
  • 莱芜 网站wordpress 关闭警告