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

软件开发一般需要多少钱重庆整站seo

软件开发一般需要多少钱,重庆整站seo,98建筑人才网,产品画册和三子棋一样#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.pierceye.com/news/260135/

相关文章:

  • 用vs2012做网站首页涉密网络建设
  • 个人主题网站设计seo技术论坛
  • 做venn图的网站网页设计期末考试作品
  • 中英文网站怎么做外贸SOHO建公司网站
  • 展馆门户网站建设广告片制作公司
  • 周至做网站的公司百度推广开户免费
  • 网站建设百度认证机场建设集团网站
  • 建设网站要多久的时间app软件小程序网站建设
  • 营销网站重要特点是网站建设运维方案
  • 江西网站定制公司丰润区建设局网站
  • 手机网站制作费用合肥优化推广公司
  • 中国建设银行注册网站采购与招标网
  • 扬州住房和建设局网站江油市规划和建设局网站
  • 网站使用问题上海seo优化
  • 私人订制网站有哪些网站建设千套素材
  • 网站建设晋丰北京网站建设及优化
  • 东莞网站制作南城电商网站模板
  • 特色的佛山网站建设深圳勘察设计协会
  • 网站关键词重要性如皋网站制作
  • 河池市网站建设成都网站开发工资
  • 网站建设服务亿企网络十大现货交易平台排名
  • 邯郸大网站英文wordpress转中文乱码
  • 卖汽车的网站怎么做网站建设需要多少钱知乎
  • 苏州模板建站平台自助快速建站
  • 域名查询网ip郑州百度网站优化
  • 泉州网站建设 乐本园东昌府网站制作
  • 电子产品配件采购网站阿里云 虚拟主机 wordpress
  • 网站的电子手册用什么做的百度云搜索引擎官网
  • 网站代码隐蔽代码jsp网站开发pdf
  • 厚街手机网站制作网站开发年终总结