欢迎来到天天文库
浏览记录
ID:59342362
大小:25.00 KB
页数:6页
时间:2020-09-04
《简版扫雷代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#include#include#defineMAX100//最大范围为100x100structplace{intshow;//显示状态(-1为不显示,0为显示@,1为显示status)charstatus;//身份(数字为周围8位地雷数,*为地雷,#号为边界标志)};/*显示函数*/voidprint_all(placemine_area[][MAX+2]){for(inti=0;i<=MAX+1;i++){for(intj=0;j
2、<=MAX+1;j++){if(mine_area[i][j].status<=8)printf("%d",mine_area[i][j].status+48);elseif(mine_area[i][j].status=='#')printf("#");elseif(mine_area[i][j].status=='*')printf("*");printf(":%d",mine_area[i][j].show);}printf("");}}voidprint_all(placemine_area[
3、][MAX+2],intlength,intwidth){for(inti=0;i4、ne_area[i][j].show);}printf("");}}voidprint_out(placemine_area[][MAX+2],intstyle){//显示雷区//初始条件:已有雷区,显示类型,0为游戏显示(部分显示),1为全部显示inti,j=1;printf("");for(i=1,printf("t");mine_area[i][j].status!='#';i++){printf("%2d",i);}for(i=1,printf("t");mine_area[i][5、j].status!='#';i++){printf("6、");}for(i=1,printf("t");mine_area[i][j].status!='#';i++){printf("V");}printf("");for(i=1,j=1;i<=MAX+1&&mine_area[i][j].status!='#';i++){printf("%5d->t",i);for(;j<=MAX+1&&mine_area[i][j].status!='#';j++){if(mine_area[i][j7、].show!=style){if(mine_area[i][j].status<=8)printf("%c",mine_area[i][j].status+48);elseif(mine_area[i][j].status=='#')printf("#");elseif(mine_area[i][j].status=='*')printf("*");}elseprintf("@");}printf("");j=1;}}/*初始化*/voidinit(placemine_area[MAX+2][MAX8、+2]){//初始化函数//初始条件:已有雷区//操作结果:生成空雷区,将首行首列置为边界(status为#,show为-1),其余位置为空(status为0,show为0)inti,j;for(i=0;i<=MAX+1;i++){mine_area[i][0].show=-1;mine_area[i][0].status='#';mine_area[0][i].show=-1;mine_area[0][i].status='#';}for(i=1;i<=MAX+1;i++)for(j=1;j<=MAX+9、1;j++){mine_area[i][j].show=0;mine_area[i][j].status=0;}}/*设置雷区*/voidset_area(placemine_area[][MAX+2],intlength,intwidth){//设置区域大小//初始条件:已有空雷区,长度length,宽度width//操作结果:按长度宽度设定雷区inti;for(i=1;i<=width+1;i++){mine_area[i
4、ne_area[i][j].show);}printf("");}}voidprint_out(placemine_area[][MAX+2],intstyle){//显示雷区//初始条件:已有雷区,显示类型,0为游戏显示(部分显示),1为全部显示inti,j=1;printf("");for(i=1,printf("t");mine_area[i][j].status!='#';i++){printf("%2d",i);}for(i=1,printf("t");mine_area[i][
5、j].status!='#';i++){printf("
6、");}for(i=1,printf("t");mine_area[i][j].status!='#';i++){printf("V");}printf("");for(i=1,j=1;i<=MAX+1&&mine_area[i][j].status!='#';i++){printf("%5d->t",i);for(;j<=MAX+1&&mine_area[i][j].status!='#';j++){if(mine_area[i][j
7、].show!=style){if(mine_area[i][j].status<=8)printf("%c",mine_area[i][j].status+48);elseif(mine_area[i][j].status=='#')printf("#");elseif(mine_area[i][j].status=='*')printf("*");}elseprintf("@");}printf("");j=1;}}/*初始化*/voidinit(placemine_area[MAX+2][MAX
8、+2]){//初始化函数//初始条件:已有雷区//操作结果:生成空雷区,将首行首列置为边界(status为#,show为-1),其余位置为空(status为0,show为0)inti,j;for(i=0;i<=MAX+1;i++){mine_area[i][0].show=-1;mine_area[i][0].status='#';mine_area[0][i].show=-1;mine_area[0][i].status='#';}for(i=1;i<=MAX+1;i++)for(j=1;j<=MAX+
9、1;j++){mine_area[i][j].show=0;mine_area[i][j].status=0;}}/*设置雷区*/voidset_area(placemine_area[][MAX+2],intlength,intwidth){//设置区域大小//初始条件:已有空雷区,长度length,宽度width//操作结果:按长度宽度设定雷区inti;for(i=1;i<=width+1;i++){mine_area[i
此文档下载收益归作者所有