#include<stdio.h>#include<time.h>#include<stdlib.h>#define ROW 9#define COL 9#define ROWS ROW+2#define COLS COL+2#define EASY_COUNT 10void menu(){printf("********************************\n");printf("******** 1. play ******\n"); printf("********* 0.exit *******\n"); printf("********************************\n");}void initboard(char board[ROWS][COLS],int rows,int cols,char set){int i,j;for(i=0;i<rows;i++){for(j=0;j<cols;j++)board[i][j]=set;}}void displayboard(char board[ROWS][COLS],int row,int col){int i,j;for(i=0;i<=col;i++){printf("%d ",i); } 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 setmine(char board[ROWS][COLS],int row����,����,int col){int count=EASY_COUNT;while(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 mine[ROWS][COLS],int x,int y){ returnmine[x-1][y]+mine[x-1][y-1]+mine[x][y-1]+mine[x-1][y+1]+mine[x+1][y-1]+mine[x][y+1]+mine[x+1][y+11]+mine[x+1][y]-8*'0';}void findmine(char mine[ROWS][COLS],char show[ROWS][COLS],int row,int col){int x,y;int win=0;while(win<row*col-EASY_COUNT){printf("请输入排查雷的坐标:\n");scanf("%d %d",&x,&y);if(x>=1&&x<=row&&y>=1&&y<=col){ if(mine[x][y]=='1') { printf("很遗憾,你被炸死了\n"); displayboard(mine,ROW,COL); break; } else { int count=get_mine_count(mine,x,y);//求旁边雷的个数 show[x][y]=count+'0'; displayboard(show,ROW,COL); win++; }}else{printf("坐标输入错误,请重新输入\n");} } if(win==row*col-EASY_COUNT) { printf("恭喜你排雷成功\n"); displayboard(mine,ROW,COL); } }void game(){char mine[ROWS][COLS]={0};//布置好雷的数组 char show[ROWS][COLS]={0};//排查出信息的数组 initboard(mine,ROWS,COLS,'0');//初始化数组 initboard(show,ROWS,COLS,'*');//初始化数组displayboard(show,ROW,COL);//打印数组 setmine(mine,ROW,COL);//布置雷 findmine(mine,show,ROW,COL);//排雷 }void test(){int input=0;srand((unsigned int)time(NULL));do{menu();printf("请选择:1or0\n");scanf("%d",&input);switch(input){case 1:game();break;case 0: printf("退出游戏\n");break;default:printf("输入错误,请选择1or0\n");break;}}while(input);}int main(){ test(); return 0;}
扫雷
来源:本站原创 浏览:137次 时间:2021-08-22
- 上一篇: 驰骋工作流引擎设计系列05 启动流程设计
- 下一篇: 驰骋工作流程引擎回答湖南朋友的21个问题
推荐资讯
- PHP - Manual: event_base_new
- PHP - Manual: magic_quotes_runtime
- PHP - Manual: HaruPage::setLineCap
- PHP - Manual: MysqlndUhConnection::killConnection
- PHP - Manual: dbplus_xunlockrel
- PHP - Manual: gupnp_root_device_start
- PHP - Manual: MysqlndUhConnection::getStatistics
- PHP - Manual: MysqlndUhConnection::connect
- PHP - Manual: Beyond TTL: user-defined storage
- PHP - Manual: CairoStatus
推荐站点
- At-lib分类目录
At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家
www.at-lib.cn - 中国链接目录
中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。
www.cnlink.org - 35目录网
35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。
www.35mulu.com - 就要爱网站目录
就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。
www.912219.com - 伍佰目录
伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。
www.wbwb.net