這裡面寫了實現掃雷各種操作的方法。
#ifndef __lei_h__
#define __lei_h__
#include
#include
#define row 12//底層面板12行12列,雷區為10*10,最外面的一圈是為了考慮雷區面板的邊界情況
#define col 12
#define mines 10//設定了10個雷
void initboard(char show[row][col], char mine[row][col]);//初始化面板
void display(char show[row][col], char mine[row][col]);//顯示雷區面板或者遊戲面板
void setmine(char show[row][col]);//設定地雷數量,隨機設定
int minenum(char mine[row][col], int a, int b);//統計周圍的地雷數目
void start(char show[row][col], char mine[row][col]);//開始掃雷
void firstblood(char show[row][col], char mine[row][col], int i, int j);//避免第一次被炸死
void expand(char show[row][col], char mine[row][col],int x,int y);//展開一片連續無雷區,並在顯示雷數
int iswin(char show[row][col]);//判斷遊戲輸贏
void game(char show[row][col], char mine[row][col]);//遊戲函式
#endif
具體實現掃雷各個操作的步驟:
#define _crt_secure_no_warnings 1
#include
#include
#include"lei.h"
//初始化
void initboard(char show[row][col], char mine[row][col])
}}
//列印雷區面板或者遊戲面板
void display(char show[row][col])
printf("\n");
}printf("----------------------------------------\n");
}
//使用隨機方法來設定地雷,地雷應該設定在裡面白色區域
//計算乙個座標周圍的地雷總數
int minenum(char mine[row][col], int a, int b)
if (mine[a - 1][b - 1] == '+')
if (mine[a - 1][b + 1] == '+')
if (mine[a][b - 1] == '+')
if (mine[a][b + 1] == '+')
if (mine[a + 1][b] == '+')
if (mine[a + 1][b - 1] == '+')
if (mine[a + 1][b + 1] == '+')
return
sum;
}
//避免第一次就踩到地雷
void firstblood(char show[row][col], char mine[row][col],int i,int j)
} while (1);}}
//展開一片無雷區的方法
void expand(char show[row][col], char mine[row][col],int x,int y)
}
//判斷輸贏
int iswin(char show[row][col])}}
if (sum == 10)//如果*剩下10個,說明剩下的都是地雷
return
0;}
//掃雷流程
void start(char show[row][col], char mine[row][col])
else
break;
}if (i == 1)//防止第一輸入踩到雷
i++;
int mines = minenum(mine, a, b);//計算周圍雷數
if (mine[a][b] == '+')//如果猜到了地雷,遊戲結束
else
if (mine[a][b] == '0')//如果不是雷,則顯示周圍雷的數量
expand(show, mine, a, b);//然後展開周圍無雷區域
display(show);//到此,可以展示給玩家現在的遊戲棋盤
iswin(show);//判斷輸贏
if (iswin(show) == 1)}}
//總遊戲函式
C實現掃雷小遊戲
直接上傳 這是乙個 game.h 標頭檔案 ifndef game h define game h include include define row 9 define col 9 define count 10 define rows 11 define cols 11 void initboa...
C 小遊戲 掃雷
標頭檔案 define crt secure no warnings 1 ifndef game h define game h include include include include define row 9 define col 9 define rows row 2 define co...
c 小遊戲 掃雷
include include include include include include includeusing namespace std define maxn 35 define midx 10 define midy 40 define cg 25 define ck 80 int ...