void initMaze() { // 设置边界为墙壁 for (int i = 0; i < rows; i++) { maze[i][0] = WALL; maze[i][cols - 1] = WALL; } for (int j = 0; j < cols; j++) { maze[0][j] = WALL; maze[rows - 1][j] = WALL; } } // 随机生成迷宫墙壁 void generateWalls(double wallDensity) { for (int i = 1; i < rows - 1; i++) { for (int j = 1; j < cols - 1; j++) { if (rand() / double(RAND_MAX) < wallDensity) { maze[i][j] = WALL; } } } maze[1][1] = PLAYER; }
时间: 2024-02-14 22:25:36 浏览: 63
Python算法应用实战之栈详解
在私有部分,你定义了两个私有成员函数:`initMaze()` 和 `generateWalls(double wallDensity)`。
`initMaze()` 函数用于初始化迷宫地图。它将迷宫的边界设置为墙壁,即将第一行、最后一行、第一列和最后一列的元素都设置为墙壁。
`generateWalls(double wallDensity)` 函数用于随机生成迷宫的墙壁。它接受一个参数 `wallDensity`,表示墙壁的密度。函数使用随机数生成器 `rand()` 来决定每个位置是否设置为墙壁。如果生成的随机数小于 `wallDensity`,则将该位置设置为墙壁。注意,函数只在内部的行和列范围内生成墙壁,不包括边界。最后,函数将玩家的初始位置 (1, 1) 设置为可通行路径。
这两个私有成员函数都是在类的内部使用的,外部无法直接调用。它们用于内部逻辑的处理和初始化迷宫地图。
阅读全文