【发布时间】:2017-09-24 15:31:47
【问题描述】:
我将如何使用 C#(尤其是 Unity)使用多种解决方案来编写 Braid 迷宫?
根据我在简短研究中的理解,编织迷宫是一种递归迷宫,它允许循环,意味着没有死胡同。
我找到的最接近的答案是在这个线程中处理如何创建more than one successful path,但我无法将两者结合起来,因为线程中使用的示例是针对“完美”迷宫的。
通过这些步骤,您可以获得从头到尾的多条成功路径:
- 将迷宫分为三组:开始(最初仅包含起始单元)、目标(最初仅包含目标单元)和未发现(所有其余部分)。
- 随机移除起始集或目标集中的单元格与未发现集中的单元格之间的墙,并将新发现的单元格移动到相应的集中。
- 重复直到每个单元格都在开始或目标设置中。
- 根据需要从起点到终点的路径移除两个区域之间的墙。
我需要的是第 5 步。它可以返回并删除所有死胡同,将其变成一个编织迷宫,然后我就准备好了! (假设迷宫大小为 n * n)。
【问题讨论】:
标签: c# recursion unity3d unityscript maze