Python 随机生成迷宫
我试图创建一个随机生成的迷宫,它符合非常具体的标准: 我想它在一个二维列表,其中墙是假的,通道是真的 从x点到y点应该只有一条路线。 以下是我目前掌握的情况:Python 随机生成迷宫,python,maze,Python,Maze,我试图创建一个随机生成的迷宫,它符合非常具体的标准: 我想它在一个二维列表,其中墙是假的,通道是真的 从x点到y点应该只有一条路线。 以下是我目前掌握的情况: def generate(height,width): maze_lst=[] theight = height*2+1 twidth = width*2+1 maze_lst = gen_base(theight, twidth) maze_lst = entrance(theight, twid
def generate(height,width):
maze_lst=[]
theight = height*2+1
twidth = width*2+1
maze_lst = gen_base(theight, twidth)
maze_lst = entrance(theight, twidth, maze_lst)
#maze_lst = route(theght, twidth, maze_lst)
return maze_lst
def gen_base(height, width):
maze_lst = []
for i in range(height):
maze_lst.append([])
for j in range(width):
if int(i/2) == i/2:
maze_lst[i].append(False)
elif int(j/2) == j/2:
maze_lst[i].append(False)
else:
maze_lst[i].append(True)
return maze_lst
def entrance(height, width, maze_lst):
oside=0
oblock=0
for i in range(2):
side = randint(1,4)
if side == 1:
block = randint(1,int(width/2))
maze_lst[0][block*2-1] = True
if side == 2:
block = randint(1,int(height/2))
maze_lst[block*2-1][width-1] = True
if side == 3:
block = randint(1,int(width/2))
maze_lst[height-1][block*2-1] = True
if side == 4:
block = randint(1,int(height/2))
maze_lst[block*2-1][0] = True
if side==oside and block==oblock:
maze_lst=generate(height,width)
else:
oside=side
oblock=block
return maze_lst
def route(height, width, maze_lst):
?
return maze_lst
有人能帮忙吗?有很多方法可以创建迷宫。Wikipedia有一个问题。请指出您的代码有什么问题以及您希望改进的地方。