C語言實現掃雷小遊戲

2021-08-18 19:46:55 字數 2035 閱讀 8849

我們首先說一下基本思路:首先我們需要兩個面板,乙個顯示面板,乙個雷面板,這兩個面板需要用二維陣列來實現。其次,要在雷面板中布置雷,然後需要輸入座標,排查雷,繼而判斷是否踩到雷,如果踩到雷,那麼玩家死翹翹,遊戲結束,如果沒有踩到雷,需要判斷此座標周圍雷的個數。如果最後設定雷的總個數全部被排查出來,那麼玩家贏,遊戲結束。

我們需要建立乙個標頭檔案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...