C語言實現排雷遊戲(多檔案)

2022-10-04 05:36:08 字數 2397 閱讀 7802

遊戲功能:

①列印雷盤

②隨機布雷

③第一踩雷不死(重新布雷)

④擴充套件式掃雷

⑤計算周圍雷的個數

**關鍵點:

①玩遊戲的雷盤比實際定義的陣列小。

②memset初始化陣列(以位元組為單位初始化)。

③rand函式給雷盤隨機位置布雷(用sand設定隨機數種子)。

④第一步就踩到雷要這個雷移開,給玩家一次機會。

⑤踩到雷後根據情況決定是否進行擴充套件式排雷。

⑥返回輸入排雷位置周圍雷的個數,根據雷的數量決定是否進行擴充套件式排雷。

⑦如果輸入的座標周圍有雷,那就不進行擴充套件式排雷,直接在該位置輸出它周圍雷的個數。

⑧輸入的座標周圍無雷,進行擴充套件式排雷。

⑨注意擴充套件式排雷函式的形參,以及函式遞迴對形參的影響。

⑩注意進行函式遞迴的判斷條件。

1.game.h

#ifndef __game_h__

#define __game_h__

#define cols 11

#define rows 11

#define max 10

#include

#include

#include

#include

#include

void display(char arr[cols][rows], int col, int row);

void set_mine(char mine[cols][rows], int col, int row);

int get_mine_count(char mine[cols][rows],int x,int y);

void reset_mine(char mine[cols][rows], int col, int row, int x, int y);

void extend(char mine[cols][rows], int x, int y, int* win, char show[cols][rows]);

#endif //__game_h__

2.game.c

#include "game.h"

void display(char arr[cols][rows], int col, int row) //列印雷盤

printf("\n");

for (i = 1; i < col - 1; ++i)

printf("\n");

}}void set_mine(char mine[cols][rows], int col, int row) //設定雷

}}void reset_mine(char mine[cols程式設計客棧][rows], int col, int row, int x, int y) //重新設定雷

}}int get_mine_count(char mine[cols][rows], int x, int y) //計算座標(x,y)周圍八個位置雷的個數並以int型返回

void extend(char mine[cols][rows], int x, intwww.cppcns.com y, int* win, char show[cols][rows]) //排雷擴充套件

else if (0 == count)}}

}}

}}3.test.c

#include "game.h"

void game()

; memset(mine, '0', cols*rows*sizeof(mine[0][0])); //利用memset函式把雷盤每個位置初始化為字元『0'

char show[cols][rows] = ;

memset(show, '*', cols*rows*sizeof(show[0][0])); //把顯示盤的每個位置初始化為字元『*'

display(show,cols,rows);

printf("\n");

set_mine(mine, cols, rows); //布雷,把mix顆雷隨機分布在雷盤中

display(mine, cols, rows);

while ( win= 1) && (x <= cols-2) && (y >= 1) && (y <= rows-2))

else

}else

}else

else}}

else

}else

} if (win == ((cols - 2)*(rows - 2)) - max) }

void menu()

void test()

} while (1);

}int main()

掃雷成功

掃雷失敗

本文標題: c語言實現排雷遊戲(多檔案)

本文位址:

生命遊戲 c語言實現

本世紀70年代,人們曾瘋魔一種被稱作 生命遊戲 的小遊戲,這種遊戲相當簡單。假設有乙個像棋盤一樣的方格網,每個方格中放置乙個生命細胞,生命細胞只有兩種狀態 生 或 死 遊戲規則如下 1 如果乙個細胞周圍有3個細胞為生 乙個細胞周圍共有8個細胞 則該細胞為生,即該細胞若原先為死,則轉為生,若原先為生,...

生命遊戲 c語言實現

本世紀70年代,人們曾瘋魔一種被稱作 生命遊戲 的小遊戲,這種遊戲相當簡單。假設有乙個像棋盤一樣的方格網,每個方格中放置乙個生命細胞,生命細胞只有兩種狀態 生 或 死 遊戲規則如下 1 如果乙個細胞周圍有3個細胞為生 乙個細胞周圍共有8個細胞 則該細胞為生,即該細胞若原先為死,則轉為生,若原先為生,...

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...