python随机生成迷宫
时间: 2024-03-02 09:47:21 浏览: 68
Python可以使用随机算法来生成迷宫。下面是一个简单的示例代码,用于生成一个随机的迷宫:
```python
import random
def generate_maze(width, height):
# 创建一个二维数组表示迷宫
maze = [['#'] * (2 * width + 1) for _ in range(2 * height + 1)]
# 初始化迷宫的外墙
for i in range(2 * width + 1):
maze[0][i] = '#'
maze[2 * height][i] = '#'
for i in range(2 * height + 1):
maze[i][0] = '#'
maze[i][2 * width] = '#'
# 随机生成迷宫的路径
def generate_path(x, y):
directions = [(0, 2), (0, -2), (2, 0), (-2, 0)]
random.shuffle(directions)
for dx, dy in directions:
nx, ny = x + dx, y + dy
if 0 < nx < 2 * width and 0 < ny < 2 * height and maze[ny][nx] == '#':
maze[y + dy // 2][x + dx // 2] = ' '
maze[ny][nx] = ' '
generate_path(nx, ny)
generate_path(1, 1)
# 将迷宫转换为字符串形式输出
maze_str = ''
for row in maze:
maze_str += ''.join(row) + '\n'
return maze_str
# 示例:生成一个10x10的迷宫
maze = generate_maze(10, 10)
print(maze)
```
这段代码使用递归的方式生成迷宫路径,首先创建一个二维数组表示迷宫,然后从起点开始,随机选择一个方向前进,直到无法再前进为止。最后将迷宫转换为字符串形式输出。
阅读全文