全域性變數定義地圖和一些判斷資訊
建立三個地圖 分別表示 源地圖 顯示的效果地圖 和乙個用來判斷點位是否被選中的地圖
玩家輸入要翻開的格仔的行數和列數。用乙個函式來翻開目標格仔,如果是地雷遊戲失敗,可以選擇是否重新遊戲並且重新整理乙個新的隨機地圖,否則用乙個函式統計目標格仔周圍的地雷數。如果周圍沒有地雷,則遞迴使用乙個函式將附近周圍沒有地雷的格仔全部開啟,最後判斷是否遊戲勝利,勝利可以選擇是否進入下一關,並增加難度。
本**我拿來測試了一下 將m地雷數和x關卡數設定的比較簡單 可以自行修改關卡
(寫的並不好 沒有用到結構體和指標 可以自行加工)
1 #include2 #include3using
namespace
std;45
int i, j, stop = 0, m = 2, stop2 = 0,x=1;6
//stop判斷遊戲是否失敗 m雷數 x關卡 stop2 判斷遊戲成功
7char k[20][20];//
地圖資訊
8int h=5,l=5;//
地圖行列
9char show[20][20] ;//
地圖是否被翻開
10char showmap[20][20];//
輸出的地圖
1112
1314
void showmap(int i, int j)//
輸出地圖
1537
else
38 cout << showmap[i][j] << '
';//
3940
}41 cout <42 }//
框架 43
if (stop == 1)//
判斷遊戲是否結束
44
59 cout <61 cout <63}
6465
6667
6869
70bool nominefindfs(int row, int col)//
遍歷判斷空白 71;
73int colmove[8] = ;
74if (k[row][col] == '
*') return
false;75
if (row < 0 || col < 0 || row >= 10 || col >= 10) return
false;76
77 showmap[row][col] =k[row][col];
78 show[row][col] = 1;79
if (k[row][col] != '
') return
false;80
81for (int i = 0; i < 8; i++)
8294}95
}9697}
9899
void change(int i, int j)//
把選中的座標輸出
100114
}115
intmain()
116127
//數字問題 關卡
128for (j = 0; j < h; j++)
129132
133int sum = 0; //
統計周圍地雷數量
134for (i = 0; i < h; i++)
135for (j = 0; j < l; j++)
136
159160
switch
(sum)
188}
189190
191192
inttemp,jx;
193showmap(i, j);
194while (1
)195
210else
211break
;212
}213
214if (stop2 ==m)
215234 x++;
235 h+=2
;236 l+=2
;237 jx=9
;238
main();
239}
240else
241break
;242
243}
244 cout << "
---1.掃雷-------2.標記雷---";
245 cin >>temp;
246if (temp == 1
)247
257else
258267
268}
269return0;
270 }
掃雷遊戲 C實現
相信掃雷遊戲對於這一代的我們來說並不陌生,小學中學階段在沒有網路的學校機房可沒少玩吧?以前,我們是以乙個使用者的角度來接觸它的,那麼,作為即將成為程式猿的我們來說,何不妨試試以開發者的角度來接觸它呢?先來分析一下掃雷程式的大體思路及框架 1 要實現掃雷程式,需要有乙個在每一局中固定的埋雷陣列,表示雷...
c 實現掃雷遊戲
設計思路 定義乙個結構體,裡面存放每乙個格仔是否被翻開,已經地雷和格仔周圍地雷數量。用結構體定義乙個二維陣列,隨機放入特定數量的地雷。玩家輸入要翻開的格仔的行數和列數。用乙個函式來翻開目標格仔,如果是地雷遊戲失敗,否則用乙個函式統計目標格仔周圍的地雷數。如果周圍沒有地雷,則遞迴使用乙個函式將附近周圍...
C實現掃雷小遊戲
直接上傳 這是乙個 game.h 標頭檔案 ifndef game h define game h include include define row 9 define col 9 define count 10 define rows 11 define cols 11 void initboa...