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

关联网站有那些珠海哪个建设网站建设好

关联网站有那些,珠海哪个建设网站建设好,游戏加速器,谷歌浏览器 安卓下载目录 1.main函数 2.菜单打印menu函数 3.游戏game函数 4.宏定义 5.界面初始化 6.打印界面 7.设置雷 8.统计排查坐标周围雷的个数 9.排查雷 10.总代码 test.c代码 game.h代码 game.c代码 结语: 一个简单的扫雷游戏,通过宏定义可以修改行列的…

目录

1.main函数

2.菜单打印menu函数

3.游戏game函数

4.宏定义

5.界面初始化

6.打印界面

7.设置雷

8.统计排查坐标周围雷的个数

9.排查雷

10.总代码

test.c代码

game.h代码

game.c代码

结语:


一个简单的扫雷游戏,通过宏定义可以修改行列的大小以及雷的数量,通过输入坐标选择要排查的位置。

1.main函数

int main()
{//设置随机数的生成srand((unsigned int)time(NULL));int input = 0;do{printf("扫雷游戏\n");menu();printf("请选择(1/0):>");scanf("%d", &input);switch (input){case 1:printf("开始游戏\n");game();break;case 0:printf("退出游戏\n");default:printf("输入错误\n");}}while (input);return 0;
}

2.菜单打印menu函数

//打印菜单
void menu()
{printf("******************\n");printf("*****  1.play  ***\n");printf("*****  0.exit  ***\n");printf("******************\n");}

3.游戏game函数

void game()
{//布置好雷的信息char mine[ROWS][COLS] = {0};//排查出雷的信息char show[ROWS][COLS] = {0};//初始化数组的内容为指定内容//mine数组在没有布置雷的时候,都是‘0’board_Init(mine,ROWS,COLS,'0');//show数组在没有排查雷的时候都是‘*’board_Init(show,ROWS,COLS,'*');//打印数组//Display_board(mine, ROW, COL);//Display_board(show, ROW, COL);//设置雷Set_mine(mine, ROW, COL);//Display_board(mine, ROW, COL);Display_board(show, ROW, COL);//排查雷Fine_Mine(mine, show, ROW, COL);}

4.宏定义

//设置行和列的大小
#define ROW 9
#define COL 9
//设置雷的数量
#define COUNT 80

5.界面初始化

初始化数组的内容为指定内容

mine数组在没有布置雷的时候,都是‘0‘

show数组在没有排查雷的时候都是‘*’

//数组初始化
void board_Init(char board[ROWS][COLS], int rows, int cols,char x)
{int i = 0;int j = 0;for (i = 0; i < rows; i++){for (j = 0; j < cols; j++){board[i][j] = x;}}
}

6.打印界面

//打印数组
void Display_board(char board[ROWS][COLS], int row, int col)
{int i = 0;int j = 0;printf("-----扫雷游戏-----\n");printf("  ");for (j = 1; 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");}printf("-----扫雷游戏-----\n");printf("\n");}

7.设置雷

//设置雷
void Set_mine(char board[ROWS][COLS], int row, int col)
{//定义雷的数量int count = COUNT;//行1-9//列1-9while (count){int x = rand() % row + 1;//在一行中随机生成一个数int y = rand() % col + 1;//在一列中随机生成一个数if (board[x][y] == '0'){board[x][y] = '1';count--;}}}

8.统计排查坐标周围雷的个数

//统计排查坐标周围雷的个数
int get_mine_count(char board[ROWS][COLS], int x, int y)
{return board[x - 1][y - 1] +board[x - 1][y] +board[x - 1][y + 1] +board[x][y + 1] +board[x + 1][y + 1] +board[x + 1][y] +board[x + 1][y - 1] +board[x][y - 1] - 8 * '0';
}

9.排查雷

//排查雷
void Fine_Mine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col)
{int x = 0;int y = 0;int win = 0;while (win<row*col-COUNT){printf("请输入要排查的坐标>:");scanf("%d%d", &x, &y);if (x >= 1 && x <= row && y >= 1 && y <= col){if (show[x][y] != 'x'){printf("该坐标已被排查过了,不能重复排查\n");}else{//如果是雷if (mine[x][y] == '1'){printf("很遗憾,你被炸死了\n");Display_board(mine, ROW, COL);break;}else//如果不是雷{win++;//统计mine数组中x,y坐标周围有几个雷int count = get_mine_count(mine, x, y);show[x][y] = count + '0';//转换成数字字符Display_board(show, ROW, COL);}}}elseprintf("输入坐标非法,请重新输入\n");}if (win == row*col - COUNT){printf("恭喜你,排雷成功\n");Display_board(mine, ROW, COL);}
}

10.总代码

test.c代码

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include "game.h"//打印菜单
void menu()
{printf("******************\n");printf("*****  1.play  ***\n");printf("*****  0.exit  ***\n");printf("******************\n");}
void game()
{//布置好雷的信息char mine[ROWS][COLS] = {0};//排查出雷的信息char show[ROWS][COLS] = {0};//初始化数组的内容为指定内容//mine数组在没有布置雷的时候,都是‘0’board_Init(mine,ROWS,COLS,'0');//show数组在没有排查雷的时候都是‘*’board_Init(show,ROWS,COLS,'*');//打印数组//Display_board(mine, ROW, COL);//Display_board(show, ROW, COL);//设置雷Set_mine(mine, ROW, COL);//Display_board(mine, ROW, COL);Display_board(show, ROW, COL);//排查雷Fine_Mine(mine, show, ROW, COL);}
int main()
{//设置随机数的生成srand((unsigned int)time(NULL));int input = 0;do{printf("扫雷游戏\n");menu();printf("请选择(1/0):>");scanf("%d", &input);switch (input){case 1:printf("开始游戏\n");game();break;case 0:printf("退出游戏\n");default:printf("输入错误\n");}}while (input);return 0;
}

game.h代码

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
//设置行和列的大小
#define ROW 9
#define COL 9#define ROWS ROW+2
#define COLS COL+2//设置雷的数量
#define COUNT 10
//初始化数组
void board_Init(char mine[ROWS][COLS], int rows, int cols, char x);
//打印数组
void Display_board(char board[ROWS][COLS], int row, int col);
//设置雷
void Set_mine(char board[ROWS][COLS], int row, int col);
//排查雷
void Fine_Mine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col);

game.c代码

define _CRT_SECURE_NO_WARNINGS 1
#include "game.h"//数组初始化
void board_Init(char board[ROWS][COLS], int rows, int cols,char x)
{int i = 0;int j = 0;for (i = 0; i < rows; i++){for (j = 0; j < cols; j++){board[i][j] = x;}}
}//打印数组
void Display_board(char board[ROWS][COLS], int row, int col)
{int i = 0;int j = 0;printf("-----扫雷游戏-----\n");printf("  ");for (j = 1; 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");}printf("-----扫雷游戏-----\n");printf("\n");}//设置雷
void Set_mine(char board[ROWS][COLS], int row, int col)
{//定义雷的数量int count = COUNT;//行1-9//列1-9while (count){int x = rand() % row + 1;//在一行中随机生成一个数int y = rand() % col + 1;//在一列中随机生成一个数if (board[x][y] == '0'){board[x][y] = '1';count--;}}}//统计排查坐标周围雷的个数
int get_mine_count(char board[ROWS][COLS], int x, int y)
{return board[x - 1][y - 1] +board[x - 1][y] +board[x - 1][y + 1] +board[x][y + 1] +board[x + 1][y + 1] +board[x + 1][y] +board[x + 1][y - 1] +board[x][y - 1] - 8 * '0';
}//排查雷
void Fine_Mine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col)
{int x = 0;int y = 0;int win = 0;while (win<row*col-COUNT){printf("请输入要排查的坐标>:");scanf("%d%d", &x, &y);if (x >= 1 && x <= row && y >= 1 && y <= col){if (show[x][y] != 'x'){printf("该坐标已被排查过了,不能重复排查\n");}else{//如果是雷if (mine[x][y] == '1'){printf("很遗憾,你被炸死了\n");Display_board(mine, ROW, COL);break;}else//如果不是雷{win++;//统计mine数组中x,y坐标周围有几个雷int count = get_mine_count(mine, x, y);show[x][y] = count + '0';//转换成数字字符Display_board(show, ROW, COL);}}}elseprintf("输入坐标非法,请重新输入\n");}if (win == row*col - COUNT){printf("恭喜你,排雷成功\n");Display_board(mine, ROW, COL);}
}

结语:

技术有限可能有些BUG没有发现,可以往里面添点有意思的程序,比如弄个关机程序进去,扫到雷直接关机,那样会很酷吧

http://www.hyszgw.com/news/72782.html

相关文章:

  • 高端品牌网站定制网站制作教程及流程
  • 闸北区网站建设网页制作用asp.net做企业网站
  • wordpress性能承载量百度关键词优化服务
  • 个体户营业执照可以做网站吗常州建设网站公司
  • 计算机网站开发开题报告范文宁河做网站公司
  • 树形菜单的网站代码北京网站建设策划
  • c网站开发案例详解门户网站建设方案文档
  • 信阳工程建设一体化平台网站怎么做网站促收录
  • 哪家网站建设最好网站建设968
  • 做一个国外的网站官网设计报价
  • 免费网站设计网站软件开发专业难学吗
  • 微信外链网站泰安网站建设工作室
  • 湘潭网站建设 地址磐石网络长沙做产检玛丽亚m网站
  • logo在线制作免费网站电影采集网站怎么做seo
  • 专业科技公司网站欣赏深圳网站建设推荐q479185700顶上
  • 帮人做非法网站怎么自己做网站吗
  • 微信做兼职什么网站好seo技巧seo排名优化
  • 自己做的网站怎么被搜索出来代做论文网站好
  • 想做网站的客户在哪找十大室内设计案例
  • 舟山网站seo平顶山 网站建设公司
  • 太原网站建设技术外包怎么注册公司logo
  • 公司网站建设准备资料佛山企业网站建设电话
  • 怎么做分享网站网站开发人员年薪
  • 浙江坤宇建设有限公司网站企点账户中心
  • 贵阳免费做网站生态网站模板
  • 商城网站建设正规公司重庆自助建站系统哪家好
  • 网站做排名2015新年山东市网站建设
  • 上线一个网站需要多少钱如何拥有自己的网站域名
  • 做网站产生的流量费怎么算上海做网站的多吗
  • 最大的网站一流的网站建设推广