"""
- 随机迷宫生成
- 简单的使用回溯法生成 Tile Based 迷宫:https://indienova.com/indie-game-development/generate-tile-based-maze-with-backtracking/
"""
import random
WALL = -1 # 墙
ROAD = 0 # 通路
ROWS = 10
COLS = 10
def reset(maze):
"""重置迷宫"""
for i in range(ROWS):
for j in range(COLS):
num = random.randint(1, 10)
maze[i][j] = WALL if num > 7 else ROAD
maze[0][0] = maze[ROWS - 1][COLS - 1] = ROAD # 左上角入口,右下角出口
def display(maze):
"""显示迷宫"""
for row in maze:
for col in row:
if col == -1:
print('■', end=' ')
elif col == 0:
print('□', end=' ')
print() # 换行
def main():
maze = [[0] * COLS for _ in range(ROWS)]
reset(maze)
display(maze)
main()
□ □ □ ■ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ ■ □ □ □ □ □ □ □ □ ■ □ ■ □ □ ■ ■ ■ □ □ ■ □ □ ■ □ ■ ■ □ □ ■ □ ■ ■ □ □ ■ □ ■ □ ■ □ ■ □ □ ■ □ □ □ ■ □ □ ■ ■ ■ □ □ □ ■ ■ □ □ ■ ■ □ □ ■ □ ■ □ □ ■ □ □ □ □ □ □