首页 > 代码库 > 迷宫算法
迷宫算法
深度优先算法的核心是(翻译的维基):
1、将起点作为当前格并标记
2、当还存在未标记的格时
——1、如果当前格有未标记的邻格
————1、随机选择一个未标记的邻格
————2、将当前格入栈
————3、移除当前格与邻格的墙
————4、标记邻格并用它作为当前格
——2、反之,如果栈不空
————1、栈顶的格子出栈
————2、令其成为当前格
——3、反之,随机选择一个格子为当前格并标记
通俗的说,就是从起点开始随机走,走不通了就原路返回,从下一个能走的地方再开始随机走。
随机prim算法的核心是(翻译的维基):
1、让迷宫全是墙
2、选一个格作为迷宫的通路,然后把它的邻墙放入列表
3、当列表里还有墙时
——1、从列表里随机选一个墙,如果它对面的格子不是迷宫的通路
————1、把墙打通,让对面的格子成为迷宫的通路
————2、把那个格子的邻墙加入列表
——2、如果对面的格子已经是通路了,那就从列表里移除这面墙
通俗的说,就是在所有可以走的地方上随机挖洞,创造出新的可以走的地方。
参考链接:
https://en.wikipedia.org/wiki/Maze_generation_algorithm
https://en.wikipedia.org/wiki/Talk:Maze_generation_algorithm
迷宫算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。