我正在尝试将深度优先搜索算法应用到我的游戏中。我一直在研究这个网页:http://www.mazeworks.com/mazegen/mazetut/index.htm,但却发现我无法用块而不是Wall来使用它。我所说的块是一个覆盖整个单元格的正方形,而不仅仅是边缘。我认为用这种方式做起来会更容易,但现在我不太确定。有没有人这样做过?如果是这样,怎么样? (伪代码很好)。或者,如果它更容易,我应该选择墙壁方法吗?
答案 0 :(得分:4)
取决于您实际希望实现的目标,我有两种解决方案。 它们基本上都是您引用的网站上显示的算法。
1。)迷宫中预定位置有块
2*k+1
网格(2*p+1, 2*q+1); p,q < k
)的单元格标记为块。2。)而不是墙壁分隔你想要块的细胞。
在开始算法之前,将任意数量的单元格标记为块。 按照源中的说明进行操作,但从不考虑任何块单元格。 如果您想要保证,您必须采取特殊预防措施 迷宫中的完全可访问性。一个简单的方案是永远不会标记一个单元格 作为一个具有超过1个块作为邻居的块。
希望这些想法符合您的需求,
最好的问候,carsten