C語言實現掃雷

2021-09-23 14:21:33 字數 1593 閱讀 6136

**思路,建立兩個二維陣列,乙個作為雷區,乙個作為顯示區,雷區只在程式結束時顯示。每次使用者操作後重新整理顯示區的陣列成員。建立雷區二維陣列12*12,顯示區二維陣列10*10,用『0』代表安全區,『1』代表雷區。

雷區的陣列長度設定比顯示區的陣列長度多2,方便邊框區域計算周圍地雷數量。

標頭檔案宣告

#include #include #include #include #define row 12 //10 + 2

#define col 12

#define total 10*10

#define mine_num 20

#pragma warning(disable:4996)

void setmine(char mine[col], int row, int col);

void showboard(char board[col], int row, int col);

char getmines(char mine[col], int row, int col);

void game();

void expand(char mine[col], int row, int col, char show);

#endif

標頭檔案實現

#include "mine.h"

int getrandindex(int start, int end)//1-10

void setmine(char mine[col], int row, int col) }}

void showboard(char board[col], int row, int col)

printf("\n----");

for (i = 1; i <= 10; i++)

printf("\n");

for (i = 1; i <= 10; i++)

printf("\n");

int k = 1;

for (k = 1; k <= 11; k++)

printf("\n"); }}

//'0'-'8'

char getmines(char mine[col], int row, int col)//char->'0'-'8'

void game()

}else

} else }}

void expand(char board[col],char mine[col], int row, int col,char show)

else

}

主函式

#include "mine.h"

void menu()

int main()

} system("pause");

return 0;

}

這裡用遞迴呼叫函式的方式來實現周圍無地雷時向外展開

void expand(char board[col],char mine[col], int row, int col,char show)

else

}

C語言實現掃雷

首先來講一講掃雷的規則 隨便點乙個格仔,會有一塊,上面的數字就代表數字周圍八個格仔會有幾個雷,是1他周圍就只有1個雷,2就有兩個雷 寫 的時候要注意構思 的框架,每個函式實現的意義在 中都有體現,首先看一下頭檔案game.h define row 9 define col 9 include inc...

c語言實現掃雷

void menu 樸實無華的選單 因為我們這裡要有乙個陣列來存放雷,乙個陣列給玩家看,所以在這裡我們用兩個陣列,給我們設定雷的我們暫且稱為my board,給玩家看的稱為y board,如下 示例 char ret 0 在這裡建立兩個陣列自己看的叫my board,將要放置雷的地方置為1,其他地方...

C語言實現掃雷遊戲

game.h define crt secure no warnings 1 include include include include define sum 10 define row 11 define col 11 void print void init char mine row co...