首页 > 其他 > 详细

干迷宫

时间:2019-09-11 21:55:19      阅读:84      评论:0      收藏:0      [点我收藏+]
#创建迷宫
maze = [
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 0, 1, 1, 0, 0, 0, 1, 1, 1],
[1, 0, 1, 1, 1, 1, 0, 1, 1, 1],
[1, 0, 1, 0, 0, 0, 0, 1, 1, 1],
[1, 0, 1, 0, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 0, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 0, 0, 0, 0, 1, 1, 1],
[1, 1, 1, 0, 0, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 0, 0, 0, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
]
# lst[(1, 1), (2, 1), (3, 1)]
#设置起点
#设置终点

start = (1, 1)
end = (8, 8)

#判断当前这个点,上下左右是0 还是1 如果是0 可以走
#下:r + 1 ,c
#右:r, c+1
#左:r, c-1
#上:r-1,c


#栈:先进后出:
#list就是一个栈
# lst = []
# lst.append(‘胡辣汤‘)
# lst.append(‘张无忌‘)
# lst.append(‘灭绝‘)
# lst.append(‘张三‘)
lst = [start]

while lst:
#列表有东西才能继续向前走
now = lst[-1]
if now == end:
print(‘出来了‘)
print(lst)
break
row, col = now #解构
maze[row][col] = 2
if maze[row - 1][col] == 0:
lst.append((row - 1, col))
elif maze[row][col + 1] == 0:
lst.append((row, col + 1))
elif maze[row][col - 1] == 0:
lst.append((row, col - 1))
elif maze[row + 1][col] == 0:
lst.append((row + 1, col))
else:
lst.pop()


else:
print("迷宫是走不通的")

干迷宫

原文:https://www.cnblogs.com/yeers/p/11508764.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!