文件夹的创建:首先我们先创建三个文件夹(1)game.c (2) game.h(3) 扫雷.c。 然后我们用game.h来声明函数,用game.c来定义函数,用扫雷.c来实现游戏的运行。
第一步:我们现在扫雷.c里面写出下面这个函数
这个就是游戏的一个界面,效果如下:
然后我们先实现游戏大概的框架,代码如下
然后我们又创建了game函数,游戏的运行我们就用它来完成,代码如下
首先扫雷我们创建一个9×9的格子,如下:
先创建两个数组 char mine[ROWS][COLS];
char show[ROWS][COLS];
用这个函数来实现初始化,然后再用下面这个函数打印
这两个函数的定义如下:
这时候我们就把扫雷的图已经完成了,接下来就是布置雷的个数,然后排雷,那如果这个位置布置雷,我们就存放1,没有布置雷就存放0.现在就是有一个问题,如果出现1,那麽到底是附近有一个雷还是这个地方是雷,所以我们用字符1表示雷,1表示附近雷的数量
用这两个函数来实现布置雷和排雷,函数的定义如下
我们统一把这些定义放入game.c里面,只需要调用game.h就可以,最后排雷函数如下
void FindMine(char mine[ROWS][COLS], char show[ROWS][COLS], int row, int col)
{
int x, y;
int win = 0;
while (win < row * col - 10)
{
printf("请输入要盘查的坐标:");
scanf("%d%d", &x, &y);
if (x >= 1 && x <= row && y >= 1 && y <= col)
{
if (mine[x][y] == '1')
{
printf("很遗憾,你死了\n");
DisplayBoard(mine, ROW, COL);
break;
}
else
{
int n = GetMineCount(mine, x, y);
show[x][y] = n + '0';
DisplayBoard(show, ROW, COL);
win++;
}
}
else
{
printf("坐标非法,请重新输入");
}
}
if (win == row * col - 10)
{
printf("恭喜你,成功了");
DisplayBoard(mine, ROW, COL);
}
}
我们在game.h自己定义了扫雷图的大小,这样可以方便修改
写的很差,希望各位谅解!