#include <bits/stdc++.h>
#include <windows.h>
using namespace std;
char c[10][10]/*可视地图*/, flag[10][10]/*初始化地图*/;
int go[8][2] = {-1, -1, -1, 0, -1, 1, 0, -1, 0, 1, 1, -1, 1, 0, 1, 1}/*方向定义*/, boompoint = 0/*炸弹数*/,
deep = 0/*步数*/;
bool f[10][10]/*剪枝*/, winf = false;
bool win() { //判断是否胜利
int cnt = 0;
for (int i = 1; i <= 8; i++) {
for (int j = 1; j <= 8; j++) {
if (c[i][j] == '*') {
cnt++;
}
}
}
if (boompoint == cnt) {
return 1;
}
return 0;
}
void dfs(int x, int y) { //当那个点为"0",他周围的点都要显示(windows7的扫雷规则)(DFS)
c[x][y] = flag[x][y];
if (flag[x][y] == '0') {
for (int k = 0; k < 8; k++) {
if (f[x + go[k][0]][y + go[k][1]] == 0) { //剪枝
f[x + go[k][0]][y + go[k][1]] = 1; //记录状态
dfs(x + go[k][0], y + go[k][1]); //递归
f[x + go[k][0]][y + go[k][1]] = 0; //记录状态
}
}
}
return ;
}
void begin() {
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t扫雷大战--现在开始!\n");
for (int i = 1; i <= 3; i++) {
system("color 10");
system(