迷宫的递归划分

时间:2016-02-14 00:03:16

标签: java recursion maze

我理解穿越迷宫背后的理念的基本原则。我看过很多关于如何让我的迷宫递归的网站。

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

}

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

1 个答案:

答案 0 :(得分:1)

假设您正在谈论以递归方式遍历迷宫。

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

  • 每个步骤“转发”映射到递归调用,
  • 回溯的每一步都是递归调用的返回。

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

如果你是在递称地谈论创建迷宫,那么我怀疑同样的方法会起作用......除了“我以前来过这里”逻辑是关于防止创建循环迷宫,而不是阻止你绕圈子。一个心智模型是你想要“挖掘”迷宫隧道,而不是“突破”到现有的隧道。