**思路,建立兩個二維陣列,乙個作為雷區,乙個作為顯示區,雷區只在程式結束時顯示。每次使用者操作後重新整理顯示區的陣列成員。建立雷區二維陣列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...