扫雷小游戏的源代码

实现思路

用二维数组做扫雷盘,埋雷函数,扫雷动作函数,自动覆盖空格函数

二维数组的列和行都分别比扫雷基本盘的多两行;

埋雷函数

void set_mine(char board[][cols], int ROW, int COL)
{
	int i=EAZY_MINE;
	while (i)
	{
		int x = rand() % 10;
		int y = rand() % 10;
		if (board[x + 1][y + 1] != '1')
		{
			board[x + 1][y + 1] = '1';
			i--;
		}
	}
}

扫雷动作函数和自动覆盖周围无雷区域函数(注意多出来的两行全为0时,对自动覆盖函数有影响,需要条件限制无雷区域覆盖在基本扫雷盘之外的两行进行覆盖)

//扫雷动作函数
void move(char show[][cols], char mine[][cols], int ROW, int COL)
{
	int i = ROW, j = COL;
	if (show[ROW][COL] != '*')
	{
		cout << "坐标已被选中过,请重新输入"<=COL-1;j--)
				move1(show, mine, i, j);
			j++;i--;
			//左
			for(;i>=ROW-1;i--)
				move1(show, mine, i, j);
			i++;

		}

	}

}

你可能感兴趣的:(c++,开发语言)