我正在生成迷宫,我只能选择第一列或最后一列.我只能选择偶数行(如果你在1处开始行索引).我有正确的逻辑,除了迷宫开始位置不是随机的.如果我生成50个迷宫,那些都是20x20,所有起始位置都是相同的.任何帮助将不胜感激.谢谢.
void Maze::generatePath()
{
int startingColumn = -1;
int startingRow = -1;
srand (time(NULL));
int side = rand() % 2;
startingColumn = (width - 1) * side; // will get first or last column
int row = rand() % height; // 0 -> height - 1
if(row % 2 == 0) // even, add one, or subtract if last row
{
if(row + 1 >= width)
startingRow = row - 1;
else
startingRow = row + 1;
}
else
{
startingRow = row; // odd, keep it
}
grid[startingRow][startingColumn] = ' '; // starting character is blank
}
Run Code Online (Sandbox Code Playgroud)
每当我生成一个新迷宫时,我都会调用此方法.这段代码是为了获得起始位置.我没有写完其余的.