C 專案 掃雷遊戲

2021-09-02 22:25:06 字數 2104 閱讀 2163

以下為程式主體:

#define _crt_secure_no_warnings

#include

#include

//定義方格大小

#define max_row

10#define max_col

10//定義方格雷陣中的地雷數

#define default_mine_count

10//製作圖形化遊戲介面函式(選單)

int menu()

return choice;}}

//清空方格函式 這裡地雷表示為 * ,安全無地雷表示為 0

void

init

(char show_map[

max_row+2

][max_col+2

],char mine_map[

max_row+2

][max_col+2

])}for

(int row =

0; row <

max_row+2

;++row)

}//能夠隨機的構造出 n 個數,放在雷陣中

int mine_count =

default_mine_count

;while

(mine_count >0)

mine_map[row]

[col]

='1'

;--mine_count;}}

void

displaymap

(char map[

max_row+2

][max_col+2

])printf

("\n");

//列印上邊框

for(int row =

1; row <=

max_row

;++row)

printf

("\n");

for(int row =

1; row <=

max_row

;++row)

printf

("\n");

}printf

("\n");

printf

("\n");

printf

("\n");

}void

updateshowmap

(char show_map[

max_row+2

][max_col+2

],char mine_map[

max_row+2

][max_col+2

], int row, int col)

else}}

}//遊戲主邏輯,入口

void

game()

//4.判斷玩家是否踩雷,如果是,遊戲結束

if(mine_map[row]

[col]

=='1'

)//5,如果沒踩雷,判定是否掀開了全部格仔(玩家勝利)

//6.就統計該位置周圍有幾個雷,並把這個數字更新到地圖上

updateshowmap

(show_map, mine_map, row, col)

;displaymap

(show_map)

; int blank_cnt =0;

for(row =

1; row <=

max_row

;++row)}}

}printf

("\n");

}}void

start()

game()

;}}//主函式

int main()

需要注意的是:

大佬可以通過更改程式首部的巨集定義來改變方格大小,擴充介面大小以提高難度.

整個遊戲邏輯必須明晰:

列印方格

隨機布置雷陣

玩家輸入掀開方格座標

判斷是否踩雷(若是,遊戲結束.否則顯示出周圍八個數的地雷數)

若未踩雷判斷是否除了地雷外掀開了所有方格(若是,掃雷成功.否則繼續遊戲)

更新表示地圖

迴圈步驟,返回至使用者輸入環節,繼續遊戲,直至遊戲截止.

c 掃雷遊戲

一 c 實現掃雷 1 在form中 bombclass bombclass new bombclass 布雷按鈕事件 private void initbombbtn click object sender,eventargs e 雷盤的滑鼠點選事件 方法一 private void bombpan...

小專案 掃雷小遊戲

pragma once define crt secure no warnings include stdio.h include stdlib.h include time.h define max row 10 define max col 10 define mine count 10 翻開計...

C 掃雷遊戲程式設計

一 概述 最近買了心機nokia6300,上面有一款掃雷遊戲,閒暇時光總是在玩,玩難度的級別還挺難過的。呵呵 後來就想使用c 寫個掃雷程式玩玩,遊戲玩多了,遊戲的思想就不知不覺的有了,下面所有的 是沒有任何參考的情況下,自己寫出來的,有許多瑕疵,程式也沒經過什麼優化,主要的演算法思想其實就那麼幾行。...