python迷宫代码
时间: 2024-10-14 08:01:24 浏览: 15
Python中创建迷宫代码通常涉及到图形处理、随机算法或者深度学习等技术,这里我会给出一个简单的二维数组迷宫生成的例子,使用递归回溯法(Depth First Search, DFS)。这个例子不会涉及复杂的路径查找,只是一个基本的迷宫结构。
```python
import random
# 定义迷宫大小
maze_width = 10
maze_height = 10
# 初始化迷宫,用True表示墙(不可通行),False表示空地(可通行)
maze = [[random.randint(0, 1) for _ in range(maze_width)] for _ in range(maze_height)]
def create_maze(start, end):
# 起点和终点设为通行状态
maze[start[1]][start[0]] = False
maze[end[1]][end[0]] = False
def dfs(x, y):
directions = [(0, -1), (0, 1), (-1, 0), (1, 0)]
if x < 0 or y < 0 or x >= maze_height or y >= maze_width or maze[y][x]:
return
maze[y][x] = True
dfs(x + directions[random.randint(0, len(directions) - 1)][0], y + directions[random.randint(0, len(directions) - 1)][1])
dfs(start[0], start[1])
dfs(end[0], end[1])
# 例如起点和终点分别为(0, 0)和(maze_width-1, maze_height-1)
create_maze((0, 0), (maze_width - 1, maze_height - 1))
for row in maze:
print(' '.join(['X' if cell else 'O' for cell in row]))
```
在这个代码中,我们首先初始化一个二维数组为随机的墙或空地,然后从起点开始,通过深度优先搜索的方式将通路标记出来,形成迷宫。最后打印出迷宫的布局,其中'O'代表空地,'X'代表墙壁。
阅读全文