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

dw怎么做别人可以看的网站哪个网站可以做司考题

dw怎么做别人可以看的网站,哪个网站可以做司考题,wordpress去除相册样式,城乡建设部网站察周圣进证件1.扫雷游戏的分析和设计 需要创建3个文件夹 test.c----扫雷游戏的测试 game.c----扫雷游戏的实现 game.h----扫雷游戏的实现 雷的信息使用二维数组存放 • 使⽤控制台实现经典的扫雷游戏 • 游戏可以通过菜单实现继续玩或者退出游戏 • 扫雷的棋盘是9*9的格⼦ • 默认…1.扫雷游戏的分析和设计 需要创建3个文件夹 test.c----扫雷游戏的测试 game.c----扫雷游戏的实现 game.h----扫雷游戏的实现 雷的信息使用二维数组存放 • 使⽤控制台实现经典的扫雷游戏 • 游戏可以通过菜单实现继续玩或者退出游戏 • 扫雷的棋盘是9*9的格⼦ • 默认随机布置10个雷 • 可以排查雷 ◦ 如果位置不是雷就显⽰周围有⼏个雷◦ 如果位置是雷就炸死游戏结束◦ 把除10个雷之外的所有⾮雷都找出来排雷成功游戏结束扫雷的过程中布置的雷和排查出的雷的信息都需要存储所以我们需要⼀定的数据结构来存储这些信息 创建两个数组一个存放雷1是雷0不是雷 第二个数组就存放排查出的雷的信息避免太过混乱 越界访问会导致程序崩溃 把存放雷的数组扩大一圈防止越界上下左右多一行和列 1.使用两个二维数组来实现 2.如果棋盘的大小是99数组的大小就给1111 因为要扩大一圈后的大小就是11*11 3.数组使用字符数组就行 2.扫雷游戏的代码实现 game.h #pragma once#include stdio.h//直接把头文件放在.h文件里面 #include stdlib.h #include time.h #pragma once #define ROW 9//行 #define COL 9//列#define ROWS ROW2//11 #define COLS COL2#define EASY_count 10//简单版本设置的雷为10 //初始化棋盘 void InitBoard(char board[ROWS][COLS], int rows, int cols, char set);//11//打印棋盘 void DisplayBoard(char board[ROWS][COLS], int row, int col);//9//布置雷 void SetMine(char mine[ROWS][COLS], int row, int col);//排查雷 void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col);test.c #define _CRT_SECURE_NO_WARNINGS 1#include game.h//包含自己的头文件就能引用game.h中自己定义的一些条件 void menu() {//打印菜单printf(**********************************************\n);printf(*************** 1 . play ***************\n);printf(*************** 0 . exit ***************\n);printf(**********************************************\n); } void game() {//游戏逻辑 11 * 11char mine[ROWS][COLS] {0};//存放雷的信息char show[ROWS][COLS] {0};//存放排查出的雷的信息//初始化棋盘初始化的是11*11的规格因为最外面的外围要保证咱们得程序不越界InitBoard(mine,ROWS,COLS,0);//把11行11列传过去InitBoard(show, ROWS, COLS,*);//打印棋盘就只打印9*9的部分DisplayBoard(show, ROW, COL);//DisplayBoard(mine, ROW, COL);测试一下//布置雷只在9*9的部分布置雷SetMine(mine, ROW, COL);//把雷放到mine数组内因为mine数组就是存放雷的信息的数组//DisplayBoard(mine, ROW, COL);//排查雷在9*9的部分排查雷FindMine(mine,show,ROW,COL); }void test() {int input 0;//这个变量必须放外面如果放里面的话//每次循环进行就会将input重新赋值为0srand((unsigned int)time(NULL));//要包含头文件使rand产生随机值就是产生随机的雷do{menu();//打印菜单printf(请选择:);scanf(%d,input);//判断输入的值switch (input){case 1:game();//输入1之后进入游戏printf(扫雷\n);break;case 0:printf(退出游戏\n);break;default://输入错误printf(选择错误重新选择\n);break;}}while (input);//一直玩的情况玩完一把接着玩输入input,是1就接着玩}int main() {test();return 0; }game.c  #define _CRT_SECURE_NO_WARNINGS 1#include game.h//包含自己的头文件 //初始化棋盘规格是11*11 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;//想初始化什么就初始化什么初始化的值就是传过来的字符}} }//只打印9*9 //打印棋盘 void DisplayBoard(char board[ROWS][COLS], int row, int col) {printf(温馨提示);printf(在输入数据的时候不要输入逗号\n);printf(应该在输入一个坐标值后按一下空格\n);printf(再输入另一个坐标值\n);printf(不听话你就等着出乱码吧\n);printf(--------扫雷-------\n);int i 0;for (i 0; i col; i)//从0开始保证对其{printf(%d , i);//打印列数}printf(\n);for (i 1; i row; i)//为什么从1开始因为最外围有一圈是空的为了防止越界{printf(%d , i);//打印行数int j 0;for (j 1; j col; j){printf(%c , board[i][j]);}printf(\n);//打印完一行就换行}printf(--------扫雷-------\n); } //布置的雷是在棋盘上随机的找啊10个坐标布置的 void SetMine(char mine[ROWS][COLS], int row, int col) {int count EASY_count;//给出雷的个数每布置一个雷就减少一个雷int x 0, y 0;while (count)//当count为0的时候就不再进入循环了雷已经布置好了{//x,y生成的坐标范围都是1~9x rand()%row1;//行y rand()%col1;//列//如果这个坐标已经放雷就不需要重复放雷如果没放就放雷if (mine[x][y] ! 1)//如果这个位置不是字符一{mine[x][y] 1;//就放一个字符一//布置一个雷count--;//减少一个雷}} } //1-01, 1的ASCLL值是49 // 2-02 //统计周围雷的个数 int Get_Mine_Count(char mine[ROWS][COLS],int x,int y)//返回雷的个数 {//将你输入的坐标周围的8个坐标的原有的字符相加起来这些原有的字符可能是1或者是0//有雷或者没有雷//第一种写法/*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;//坐标上面的值减去字符0就是他们坐标上面有的数字//在你输入的坐标周围总共有8个坐标所以直接8*0*///第二种写法使用循环的方式int i 0,count0;for (i -1; i 1; i){int j 0;for (j -1; j 1; j){countmine[x i][y j] - 0;//因为你输入的坐标不是雷所以将他加进去也无所谓//要排查周围雷的信息//将这8个坐标上的字符数字累加在count内}//mine[x i][y j]随之i和j的变化模拟了你输入的坐标周围的8个坐标的值}return count; }//排查雷思路 //1.输入一个坐标 //2.判断这个坐标是否越界 //3.判断这份位置是否是雷 //如果是雷就炸死 //如果不是雷就统计这个周围雷的个数显示出来 void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col) {int x 0, y 0;int win 0;while (wincol*row- EASY_count)//总共的方格数-雷的数量直到这个值为0是不会停下的除非你提前踩雷了{printf(请输入排查的坐标);scanf(%d %d, x, y);if (x 1 x row y 1 y col)//输入的坐标是合法的{//接下来就判断这个坐标上面是不是雷if (mine[x][y] 1)//输入的位置是雷{printf(很遗憾你踩雷了游戏结束);DisplayBoard(mine, ROW, COL);//让玩家死得瞑目知道雷的位置break;//让循环停下来}else//输入的位置不是雷我们就要统计这个坐标周围的8个坐标雷的数量{int count Get_Mine_Count(mine, x, y);//统计类雷的个数//将算出的雷的数量放到show数组show[x][y] count 0;//转化为字符放到数组里面DisplayBoard(show, ROW, COL);//打印show数组内的信息//不是雷的话win;//}}else{printf(输入的坐标有误x(1~9),y(1~9),应该重新输入);}}//如果我们把所有不是雷的位置都排查完了那我们排雷就成功了if (win row * col - EASY_count)//所有的雷都被排完了{printf(恭喜你排雷成功了);//把雷的信息打印出来DisplayBoard(mine, ROW, COL);} }3.扫雷游戏的拓展 是否可以选择游戏难度 简单9*9棋盘,10个雷 中等16*16棋盘40个雷 困难30*16棋盘99个雷 点开一个坐标周围不是雷的就都显现出来了 在线扫雷游戏扫雷游戏网页版 - Minesweeper
http://www.w-s-a.com/news/327825/

相关文章:

  • 电龙网站建设wordpress文章两端对齐
  • 做外单网站亚马逊免费的网站加速器
  • 英文网站推广工作一个虚拟主机可以做几个网站吗
  • 微网站 合同重庆电力建设设计公司网站
  • 网站怎么设置支付网站源码下载后怎么布置
  • 广州市公需课在哪个网站可以做手机商城软件下载
  • app网站建设需要什么长治网站建设公司
  • 网站模板平台广告宣传网站
  • cc域名的网站做网站放太多视频
  • 让公司做网站要注意什么建设工程公司企业文化
  • 佛山搭建建网站哪家好微信如何建立自己的公众号
  • 联想公司网站建设现状广州建网站兴田德润团队
  • 网站开发的技术有网页设计实训报告工作内容和步骤
  • 视频做网站长沙网站制作平台
  • js网站建设北京seo公司优化网络可见性
  • 付款网站源码建网站卖东西
  • 用php做的录入成绩的网站wordpress等级插件
  • 网站运营优化方案广西桂林公司
  • 快递网站策划怎么做ppt长春建设信息网站
  • 做服装搭配图的网站有哪些经营一个网站要怎么做
  • 呼市品牌网站建设那家好增城住房和建设局网站
  • 网站首页布局设计代码太仓网站开发建设服务
  • 学校网站建设与管理porto wordpress模板
  • 余姚做网站公司网站建设有哪些基本流程
  • 门户网站建设的报价百度医生在线问诊
  • 北京公司注册在哪个网站浏览器打开网址404
  • 廊坊做网站公司绣花图案设计网站
  • 网站空间租用哪个好购物网站建设模板图片
  • 建设银行包头分行网站泰安网签成交量最新
  • 手机微网站与微官网现在去成都需要隔离吗