我們首先說一下基本思路:首先我們需要兩個面板,乙個顯示面板,乙個雷面板,這兩個面板需要用二維陣列來實現。其次,要在雷面板中布置雷,然後需要輸入座標,排查雷,繼而判斷是否踩到雷,如果踩到雷,那麼玩家死翹翹,遊戲結束,如果沒有踩到雷,需要判斷此座標周圍雷的個數。如果最後設定雷的總個數全部被排查出來,那麼玩家贏,遊戲結束。
我們需要建立乙個標頭檔案lei.h來存放需要用到的函式。建立乙個原始檔lei.c來實現各個是函式。建立乙個原始檔main.c來測試各個函式。標頭檔案lei.h中,需要有初始化雷函式,即布置雷、顯示面板函式、判斷周圍雷的個數函式、玩遊戲函式。原始檔lei.c裡面就是實現標頭檔案lei.c裡面的函式。原始檔main.c裡面需要有乙個選單函式,乙個玩遊戲函式,玩遊戲函式裡面,首先需要定義兩個二維陣列,用於建立雷面板和顯示面板,接著初始化這兩個二維陣列,然後布置雷函式,接著顯示兩個面板函式,然後測試判斷周圍雷的個數函式,最後測試玩遊戲函式。
標頭檔案lei.h
#ifndef __lei_h_
#define __lei_h_
#define row 10
#define col 10
#define mine_count 20 //設定雷的個數
//初始雷 設定雷函式
void set_mine(char mine[row + 2][col + 2], int row, int col);//row+2 col+2是因為為了檢視附近的雷方便,給陣列的外圍又加了一層
//顯示雷和面板
void display(char board[row][col], int row, int col);//row+2 col+2是因為輸入顯示時方便從1開始而不是陣列下標的從0開始
//檢視附近的雷數
int mine_count(char mine[row + 2][col + 2], int x, int y);
//玩遊戲
void play_game(char mine[row + 2][col + 2], char board[row + 2][col + 2]);
#endif
原始檔main.c
#define _crt_secure_no_warnings 1
#include
#include
#include
#include
#include "lei.h"
//選單函式
void menu()
//定義遊戲函式
void game()
int main()
} while (choose);
system("pause");
return
0;}
原始檔lei.c
#include "lei.h"
//初始化雷 設定雷函式
void set_mine(char mine[row + 2][col + 2], int row, int col)//row+2 col+2是因為為了檢視附近的雷方便,給陣列的外圍又加了一層
else
//如果將要放入座標的位置不是『0』,就說明不能放雷,此時將i--,恢復到原來的數值
}}//顯示雷和面板
void display(char board[row+2][col+2], int row, int col)//row+2 col+2是因為輸入顯示時方便從1開始而不是陣列下標的從0開始
printf("|\n");
}printf(" --------------------\n");
}//檢視附近的雷數
int mine_count(char mine[row + 2][col + 2], int x, int y)
//玩遊戲 先輸入座標判斷座標是否合理,再判斷是否有雷
void play_game(char mine[row + 2][col + 2], char board[row + 2][col + 2])
else}}
else
}}
C語言實現掃雷小遊戲
本文將從一行行 中詳解掃雷小遊戲,對每乙個模組都使用詳細的注釋,使這個掃雷小遊戲簡單易懂。首先,簡單分析掃雷的玩法,掃雷就是在乙個棋盤中布置適當數量的雷數玩家通過對雷陣的排查,來找出雷的位置。如果玩家選擇的座標周圍無雷將自動展開這片區域,若有雷會顯示雷數。1.定義兩個適當大小的雷陣,乙個用來埋雷,判...
用C語言實現掃雷小遊戲
多檔案實現掃雷遊戲,並滿足 第一次不被炸死 當座標周圍沒雷,可以實現展開 建立兩個12 12的陣列,乙個實現埋雷等操作mine 12 12 另乙個則是使用者所見的介面board 12 12 在mine.h中進行一些檔案引入和定義及宣告 mine.h ifndef mine h define mine...
利用C語言實現掃雷小遊戲
1.展現乙個9 9的遊戲棋盤,未掃過雷的地方用 代替。2.玩家輸入棋盤座標進行排雷。3.如果玩家輸入座標為雷所在位置,則遊戲結束。4.如果玩家輸入座標為非雷所在位置,則在該座標位置顯示周圍一圈8個位置雷的數量。5.直到玩家把所有非雷的位置找出來,則遊戲結束。標頭檔案game.h define crt...