写一个简单迷宫生成代码
时间: 2024-10-10 20:08:45 浏览: 9
生成一个简单的二维迷宫通常使用深度优先搜索(DFS)或广度优先搜索(BFS)算法结合随机选择的方式来创建墙壁和路径。这里我会提供一个基于Python的基本BFS生成随机迷宫的示例:
```python
import random
# 定义迷宫大小
ROW = COL = 10
def create_maze():
maze = [['#' for _ in range(COL)] for _ in range(ROW)]
# 初始化起点和终点
start = (0, 0)
end = (ROW - 1, COL - 1)
def is_valid(x, y):
return 0 <= x < ROW and 0 <= y < COL and maze[x][y] == '#'
stack = [(start)]
while stack:
x, y = stack.pop()
if (x, y) == end:
break
directions = [(x+1, y), (x-1, y), (x, y+1), (x, y-1)]
random.shuffle(directions)
for dx, dy in directions:
if is_valid(dx, dy):
maze[x][y], maze[dx][dy] = ' ', ' '
stack.append((dx, dy))
return maze
# 打印迷宫
for row in create_maze():
print(' '.join(row))
```
这个例子中,我们首先创建一个全墙的矩阵,然后从起始点开始,每次从四个相邻位置中随机选择一个,如果该位置是空的(未访问过),就清除它并将其加入栈,直到到达终点。最后打印出生成的迷宫。