我正在尝试在 javascript 中创建一个随机迷宫生成器。
那里可能已经有工作示例,但我正在尝试自己解决这个问题(嗯,尽可能多)
我遇到的问题是我的脚本只运行了几个块然后停止。
我认为问题在于我对我所遵循的解释的理解(来自这个维基百科页面http://en.wikipedia.org/wiki/Maze_generation_algorithm)
该算法是 Prim 算法的随机版本。
从一个充满墙壁的网格开始。
选择一个单元格,将其标记为迷宫的一部分。将单元格的墙壁添加到墙壁列表中。
虽然列表中有墙:
从列表中随机选择一面墙。如果对面的牢房还没有进入迷宫:
使墙壁成为通道,并将另一侧的单元格标记为迷宫的一部分。
将单元格的相邻墙添加到墙列表中。
如果对面的牢房已经在迷宫中,则将墙从列表中删除。
正如我所强调的那样,我的问题是与此相反的 部分。这是否意味着我们墙列表中的任何相邻单元格?还是有别的意思?
我已经用相邻的单元格尝试过它,它最终只是把自己挡住了。
任何想法,将不胜感激。
如果我能让它工作,我会在完成后发布代码。正如我所说,在获得完整解决方案的帮助之前,我想自己走得更远。