2016-02-14 68 views
-4

我理解穿越迷宫背后的想法的基本原理。我已经看过很多关于如何去迷宫递归的网站。迷宫的递归划分

private static void makeMazeRecursive(char[][]level, int startX, int startY, int endX, int endY) 
{ 

} 

这是我必须与之合作。我如何去划分我给予的墙壁(高度= 25,宽度= 80)?任何帮助非常感谢。 基本上,我给了迷宫的空白板,现在我的工作就是为它做一个递归的方法。

+0

关于什么递归?这里没有足够的信息来说明你要完成什么。 – pczeus

回答

1

假设您正在讨论递归地遍历迷宫。

你不能通过在迷宫布局上递归来解决这个问题。如果你想使用递归,你需要在你通过迷宫的路径上进行。概念:

  • 每一步“前进”映射到一个递归调用,并
  • 即回溯是从递归调用返回的每一步。

但是,您还需要跟踪您之前遇到的迷宫位置,否则您的迷宫跑步者可能会陷入无限循环(递归)。


如果你正在谈论创建递归迷宫,然后我怀疑同样的方法将工作......除了“我在这儿之前”的逻辑是关于防止在循环的建立迷宫,而不是阻止你绕着圈子走。心理模型是你想要“挖掘”迷宫隧道而不“突破”到现有隧道中。