扫雷扩展
仿照Windows扫雷,可以扩展打开一片的功能。另外就是标记。废话不说上代码。
扩展
这块用递归完成,主要逻辑如下:
- 输入的坐标不是雷
- 该坐标周围没有雷
- 该坐标没有被排查过
- 继续扩展
void Expand_mine(char mine[ROWS][COLS], char show[ROWS][COLS], int x, int y)
{
if (mine[x][y] != '1')//该坐标不是雷
{
if (get_mine_count(mine, x, y) == 0)//该坐标周围没有雷
{
if (show[x][y] != ' ')//该坐标没有被排查
{
show[x][y] = ' ';//标记为排查过
Expand_mine(mine, show, x - 1, y);
Expand_mine(mine, show, x - 1, y + 1);
Expand_mine(mine, show, x - 1, y - 1);
Expand_mine(mine, show, x, y - 1);
Expand_mine(mine, show, x, y + 1);
Expand_mine(mine, show