資源描述:
《簡版掃雷代碼.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、#include#include#include#defineMAX100//最大范圍為100x100structplace{intshow;//顯示狀態(tài)(-1為不顯示,0為顯示@,1為顯示status)charstatus;//身份(數(shù)字為周圍8位地雷數(shù),*為地雷,#號為邊界標(biāo)志)};/*顯示函數(shù)*/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){//顯示雷區(qū)//初始條件:已有雷區(qū),顯示類型,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]){//初始化函數(shù)//初始條件:已有雷區(qū)//操作結(jié)果:生成空雷區(qū),將首行首列置為邊界(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;}}/*設(shè)置雷區(qū)*/voidset_area(placemine_area[][MAX+2],intlength,intwidth){//設(shè)置區(qū)域大小//初始條件:已有空雷區(qū),長度length,寬度width//操作結(jié)果:按長度寬度設(shè)定雷區(qū)inti;for(i=1;i<=width+1;i++){mine_area[i