gpt4 book ai didi

Javascript - Randomized Prim's algorithm 问题Randomized Prim's algorithm

转载 作者:行者123 更新时间:2023-11-30 06:42:49 24 4
gpt4 key购买 nike

我正在尝试用 javascript 创建一个随机迷宫生成器。

可能已经有可用的示例,但我正在尝试自己解决这个问题(好吧,尽可能多)

我遇到的问题是我的脚本只运行了几个 block 然后就停止了。

我认为问题在于我对我所遵循的解释的理解(来自此维基百科页面 http://en.wikipedia.org/wiki/Maze_generation_algorithm)

该算法是 Prim 算法的随机版本。

  1. 从布满墙壁的网格开始。

  2. 选择一个单元格,将其标记为迷宫的一部分。将单元格的墙壁添加到墙壁列表中。

  3. 虽然列表中有墙:

    1. 从列表中随机选择一堵墙。如果对面的单元格还没有进入迷宫:

      1. 将墙做成一条 channel ,并将对面的单元标记为迷宫的一部分。

      2. 将单元格的相邻墙壁添加到墙壁列表中。

    2. 如果对面的单元格已经在迷宫中,则从列表中移除墙。

正如我所强调的,我的问题出在它的另一面部分。这是否意味着我们的墙列表中有任何相邻的单元格?还是有别的意思?

我已经在相邻的单元格中尝试过它,但它最终只是将自己挡在了里面。

任何想法将不胜感激。

如果我能让它工作,我会在完成后发布代码。正如我所说,在获得完整解决方案的帮助之前,我想自己走得尽可能远。

最佳答案

墙代表两个不同单元格之间的连接。当你在你的墙列表中添加一堵墙时,这是因为你正在访问一个将成为你迷宫一部分的单元格,所以当它指的是相反的单元格时,它意味着该墙“后面”的单元格,如果一条 channel 会导致那堵墙不在那里。

关于Javascript - Randomized Prim's algorithm 问题Randomized Prim's algorithm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9507415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com