狩猎与杀戮迷宫生成器
已出版: 2025年2月16日 UTC 20:57:30
最后更新 2026年1月12日 UTC 09:05:07
为了使尽可能多的人能够访问本页面,本页面由英文机译而成。遗憾的是,机器翻译技术尚不完善,因此可能会出现错误。如果您愿意,可以在此处查看原始英文版本:
Hunt and Kill Maze Generator
Hunt and Kill Maze Generator
Hunt and Kill 算法实际上是递归回溯算法的改进版本。改进之处在于,当无法继续前进时,它会系统地扫描(或“寻找”)新的单元格以继续前进,而不是像真正的递归搜索那样总是返回到栈上的前一个单元格。
因此,只需选择更频繁地进入“搜索”模式或遵循特定规则,即可轻松调整此算法,生成不同外观和风格的迷宫。此处实现的版本仅在无法远离当前单元格时才进入“搜索”模式。
完美迷宫是指从迷宫中的任何一点到其他任何一点都只有一条路径的迷宫。这意味着你不会兜圈子,但你会经常遇到死胡同,不得不掉头回去。
这里生成的迷宫地图包括一个没有起点和终点位置的默认版本,因此您可以自行决定起点和终点位置:从迷宫中的任何一点到其他任何一点都有解法。如果你想获得灵感,可以启用建议的起点和终点位置,甚至可以查看两者之间的解法。
关于猎杀算法
“狩猎与消灭”算法是一种简单而有效的迷宫生成方法。它与深度优先搜索(例如递归回溯算法)有些类似,不同之处在于,当无法从当前位置继续前进时,它会系统地扫描(或“狩猎”)迷宫,寻找新的出发点。该算法包含两个主要阶段:行走和狩猎。
迷宫生成中的猎杀算法工作原理
步骤 1:从一个随机单元格开始
- 在网格中随机选择一个单元格,并将其标记为已访问。
步骤 2:步行阶段(随机行走)
- 随机选择一位未拜访过的邻居。
- 移动到相邻的单元格,将其标记为已访问,并在前一个单元格和新单元格之间开辟一条路径。
- 重复此步骤,直到所有未拜访的邻居都拜访完毕。
步骤 3:搜索阶段(通过扫描进行回溯)
- 逐行(或逐列)扫描网格。
- 找到第一个至少有一个已访问邻居的未访问单元格。
- 将该单元格与已访问的相邻单元格连接,以恢复行走阶段。
- 重复以上步骤,直到所有单元格都被访问过。
进一步阅读
如果您喜欢这篇文章,您可能还会喜欢这些建议:
