gpt4 book ai didi

java - 递归迷宫生成

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:26:11 25 4
gpt4 key购买 nike

我不小心把这个问题发到了我的另一个账号上,所以我删除了这个帖子并重新发布到这个账号上。

所以我想创建一个迷宫生成算法来取乐,但遇到了一些困难。我写的算法放置在无法到达且没有导出的空间中。可能是什么问题?

我的意思是

# # # # # # # # # # # # # # # # # # # # # 
# . . . . . # . # . . . # . # . # . . . #
# . # # # . # . # # # . # # # . # # # # #
# . . . # . # . # . . . . . # . . . . . #
# # # . # . # . # # # # # . # # # . # # #
# . . . # . # . . . . . # . # . # . # . #
# . # # # . # # # # # . # # # . # . # . #
# . # . # . . . . . # . . . . . . . # . #
# . # . # . # # # # # # # . # # # . # # #
# . # . # . . . . . . . # . . . # . # . #
# . # . # # # # # # # . # . # . # # # . #
# . # . # . . . . . . . # . # . # . . . #
# # # # # . # # # # # # # . # . # . # # #
# . # . . . # . . . . . . . # . # . # . #
# . # # # . # . # # # # # # # # # . # # #
# . . . # . . . # . # . . . . . . . # . #
# # # . # # # . # # # # # # # . # # # . #
# . # . # . . . . . # . . . # . . . . . #
# # # . # . # # # . # . # # # . # # # . #
# . # . . . # . # . # . # . . . . . # . #
# # # # # # # # # # # # # # # # # # # # #

这是我的代码
描述:
创建一个由完全连接的单元格组成的迷宫。如 0 向上,1 向下,2 向右,3 向左所述,orientTo 记录 dfs 是否向上/向下/向左/向右移动以到达当前单元格。在 mazeGen 函数中:生成你来自的单元格,现在移除当前单元格和最后一个单元格之间的墙。生成当前单元格的所有邻居并将它们随机排列到一个数组中,数组包含 x,y,以及 dfs 移动到该邻居单元格的方式。现在遍历此数组并使用这些邻居值递归调用 dfs。

最佳答案

我想迷宫空间(非墙)应该是一棵树。这意味着所有空间都相连,并且每对空间之间只有一条路径。

由于树没有循环,因此可以通过打破找到的任何循环来创建迷宫。可以通过查找循环(​​DFS)并将检测到的循环中的任何空间设置为墙直到没有循环来完成。它可以在一次 DFS 传递中完成。不同迷宫的创建是通过选择不同的起始空间并随机选择邻居来进行的。

关于java - 递归迷宫生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21078789/

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