python随机生成9×9的迷宫地图
时间: 2024-10-10 18:07:11 浏览: 41
在Python中,我们可以使用random库和一些基本的算法来生成9x9的迷宫地图。一种常见的方法是使用深度优先搜索(Depth First Search, DFS)结合回溯的思想。下面是一个简单的示例:
```python
import random
def create_maze(width=9, height=9):
maze = [['#'] * width for _ in range(height)] # 初始化全为墙的迷宫
visited = [[False] * width for _ in range(height)]
def dfs(x, y):
directions = [(0, -1), (1, 0), (0, 1), (-1, 0)]
random.shuffle(directions)
for dx, dy in directions:
nx, ny = x + dx, y + dy
if 0 <= nx < height and 0 <= ny < width and not visited[nx][ny]:
visited[nx][ny] = True
maze[x][y], maze[nx][ny] = ' ', '#'
dfs(nx, ny)
start_x, start_y = random.randint(0, height-1), random.randint(0, width-1) # 随机选择起点
dfs(start_x, start_y)
return maze
# 示例生成并打印迷宫
maze = create_maze()
for row in maze:
print(' '.join(row))
```
这个脚本会随机选择一个起始位置,然后从那里开始使用DFS创建迷宫路径,途中碰到未访问过的格子就改变其状态(代表通路),同时标记为已访问。最后返回的就是一个9x9的迷宫地图。
阅读全文