遊戲功能:
①列印雷盤
②隨機布雷
③第一踩雷不死(重新布雷)
④擴充套件式掃雷
⑤計算周圍雷的個數
**關鍵點:
①玩遊戲的雷盤比實際定義的陣列小。
②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...