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

最近三天国内重大新闻网站推广与优化怎么做

最近三天国内重大新闻,网站推广与优化怎么做,知识产权网站开发,羊毛网站建设视频和三子棋一样#xff0c;主函数先设计游戏菜单界面#xff0c;这里就不做展示了。 初始化棋盘 初级扫雷大小为9*9的棋盘#xff0c;但排雷是周围一圈进行排雷(8格)#xff0c;而边界可能会越界。数组扩大了一圈,行和列都加了2#xff0c;所以我们用一个11*11的数组来初始化…  和三子棋一样主函数先设计游戏菜单界面这里就不做展示了。 初始化棋盘 初级扫雷大小为9*9的棋盘但排雷是周围一圈进行排雷(8格)而边界可能会越界。数组扩大了一圈,行和列都加了2所以我们用一个11*11的数组来初始化棋盘。 同时为了让玩家定位哪一行哪一列的坐标我们要将行列打印出来。 #define ROW 9 #define COL 9#define ROWS ROW2 #define COLS COL2 //初级10个雷 #define EASY_COUNT 10 由于是两个棋盘初始化我们可以多传一个字符参数初始化不同棋盘 void init_mine(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;}} } 棋盘打印 由于扫雷游戏的特殊性我们要设计两个棋盘一个用于放置雷的信息(存放两种字符0为无雷1为有雷)一个用于放排查出的雷信息(*为默认界面数字字符代表周围8格雷的个数)。 void display_board(char board[ROWS][COLS], int row, int col) {int i 0;int j 0;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);} } 由于数组是从下标一开始的这里我们防止打印的行列错位可以打印个0来对齐。 设置雷 在9*9棋盘里随机放雷雷用字符1表示初级放10个雷。 void set_mine(char mine[ROWS][COLS], int row, int col) {int n EASY_COUNT;while (n--){int i rand() % row1;//1~9int j rand() % col1;if (mine[i][j] 0)mine[i][j] 1;} } 效果 找雷 找雷要分几个流程先选择坐标然后显示该坐标是雷还是安全区如果是雷游戏结束。如果是安全区还需判断4周有多少雷获胜条件是将所有安全区标出即可胜利。 在此基础上还要检查坐标是否越界以及是否被排查过等问题。 void find_mine(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(请输入要排查雷的坐标:);scanf(%d %d, x, y);if (x 1 x row y1 ycol){if (mine[x][y] ! 1){if (show[x][y] *){int ret get_mine_count(mine, x, y);show[x][y] ret 0;//得到雷的个数(字符)display_board(show, ROW, COL);win;}else printf(坐标被占用\n);}else{printf(踩雷了游戏结束\n);break;}}else{printf(坐标非法\n );}}if (win row * col - EASY_COUNT){printf(恭喜你排雷成功\n);display_board(mine, ROW, COL);} } 获取周围雷 我们用到0~1字符ascii码连续的特点(相差1)将8个坐标相加减去8个0的ASCII码值就得到雷的个数。 int get_mine_count(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);} 测试时我们可以将放雷的数组打印出来方便观察周围是否有相应个数的雷测试游戏胜利也可以将雷的个数设置多一些判断胜利是否正常输出。  完整代码 //game.c #include game.h void init_mine(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 display_board(char board[ROWS][COLS], int row, int col) {int i 0;int j 0;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 set_mine(char mine[ROWS][COLS], int row, int col) {int n EASY_COUNT;while (n--){int i rand() % row1;//1~9int j rand() % col1;if (mine[i][j] 0)mine[i][j] 1;} } static int get_mine_count(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 find_mine(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(请输入要排查雷的坐标:);scanf(%d %d, x, y);if (x 1 x row y1 ycol){if (mine[x][y] ! 1){if (show[x][y] *){int ret get_mine_count(mine, x, y);show[x][y] ret 0;//得到雷的个数(字符)display_board(show, ROW, COL);win;}else printf(坐标被占用\n);}else{printf(踩雷了游戏结束\n);break;}}else{printf(坐标非法\n );}}if (win row * col - EASY_COUNT){printf(恭喜你排雷成功\n);display_board(mine, ROW, COL);} } //test.c#include game.hvoid menu() {printf( 1. play \n);printf( 0. exit \n); } void game() {char board[ROWS][COLS] { 0 };char show[ROWS][COLS] { 0 };init_mine(show, ROWS, COLS, *);init_mine(board, ROWS, COLS, 0);set_mine(board, ROW, COL);display_board(board, ROW, COL);display_board(show, ROW, COL);find_mine(board, show, ROW, COL);display_board(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);break;}} while (input);return 0; } //game.h #define _CRT_SECURE_NO_WARNINGS 1 #pragma once#include stdio.h #include stdlib.h #include time.h#define ROW 9 #define COL 9#define ROWS ROW2 #define COLS COL2 #define EASY_COUNT 10 void init_mine(char board[ROWS][COLS], int row, int col, char set);//打印棋盘 void display_board(char board[ROWS][COLS], int row, int col);//布置雷 void set_mine(char mine[ROWS][COLS], int row, int col);//排查雷 void find_mine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col);
http://www.dnsts.com.cn/news/33713.html

相关文章:

  • 深圳网站设计价格表网站制作价钱多少
  • 湖州市住房和城乡建设局官方网站展示型网站怎么做
  • 江西南昌网站建设服务种子库
  • 泉州教育平台网站建设网站规划与设计就业
  • 更新网站怎么弄asp.net网站搬迁到移动终端
  • 阿里云网站空间做商城流程如何连接到网站服务器
  • 不同域名指向同一网站网上做问卷报酬不错的网站是
  • 召开网站建设培训会wordpress吗
  • 西湖区网站建设淄博网站建设好的公司
  • 网站建设类型有哪些计算机大二建设网站
  • 南宁网站建设接单上海设计网站
  • 室内装修设计网站推荐福州短视频seo获客
  • 英文网站编辑怎么做网站建设和维护的教程
  • 学校网站logo怎么做wordpress浏览次数插件
  • 做网站公司做网站公司俄罗斯视频网站开发
  • 东莞医疗网站建设报价建设网站如入什么费
  • 南京企业网站排名优化网站设计理念怎么写
  • asp access 手机站 用于做微网站做网站的细节
  • 网站建设合同建设方注意事项wordpress 3.9中文版
  • 3yx这个网站做刷单菏泽建设信息网官网
  • 中山市企业网站seo哪里好网站开发一般用什么数据库
  • 理财 网站模板 html金泉网做网站电话
  • 企业做网站推广产品需要多少钱重庆网站建设论文
  • 电商网站开发模板刷赞网站怎么做的
  • 专门做网页的网站昵图网免费素材图库官网手机版
  • 云南建设银行招聘网站中国网重庆
  • 网站域名起名1000个免费邮箱账号
  • 网站尾部赣州网站制作
  • 东莞市住房建设局网站首页wordpress微信按钮弹框
  • 做外贸网站买海外域名移动互联网开发的数据有限