我正在尝试用 C++ 创建一个随机迷宫,但我无法开始,因为我不知道如何创建网格或单元格。我怎么能创造它?而且我还想使用 ASCII 字符创建它。我如何将它存储在数组中? (任何人都可以给出示例代码和一些解释,以便我更好地理解它)

另一个问题:我应该学习和使用哪些数据结构?我打算使用 Eller 算法或 Kruskal 算法。

谢谢你们帮助我!我是初学者程序员,我想了解这一点,因为这是我项目的一部分,谢谢你!

最佳答案

您可能希望将迷宫存储在二维字符数组中。您可以在 C++ 中声明或不初始化数组。

char a[30][10];  // declares a char array of 30 rows and 10 columns.

// declare an array with 3 rows and 3 columns, and provide initial values
char ticTacToeBoard[3][3] = {{'x', 'x', 'o'},
                             {'o', 'o', 'x'},
                             {'x', 'o', ' '}
                            };

您可以将迷宫中墙壁的初始值更改为 '|''-' ,并为 channel 使用空格字符 ' '
任何一种初始化方法都有效,但您总是以相同的方式使用元素。这是清除上面初始化数组中的板的方法。
// clear the board
for (int row=0; row<3; row++) {
    for (int col=0; col<3; col++) {
        ticTacToeBoard[row][col] = ' ';
    }
}

如果您想读取一个元素的值(当您尝试在迷宫中导航时很有用),您可以使用与设置其值时相同的下标符号。
char y = a[2][2]; // reads the character in row 2, column 2

关于c++ - 如何在 C++ 中为随机迷宫创建单元格或网格?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/396579/

10-11 22:07
查看更多