2017-05-24 120 views
0

所以可以说迷宫已经由算法产生了。你怎么知道迷宫的起点和终点在哪里?因为在开始时,你选择一个随机单元格,并且在算法完成后你不知道迷宫结束的位置递归回溯迷宫发生器(开始/结束)

+1

我不认为你在你的问题中提供了足够的信息。 – hatchet

+0

假设你有一个很大的迷宫,没有超过1个入口和1个出口,你可以从任何地方开始,最终你会在这两个地方结束..但你需要能够知道你在开始/结束。 – AlexG

+0

你可以选择任何开始和退出你喜欢的。 –

回答

0

我想先说你的问题不是很清楚,你没有提供任何具体的解释你需要但我仍然会试着回答你的问题。

在编写递归函数时要记住的第一件事是,它总是需要一个基本条件,基本条件我的意思是一段代码将作为终结点,否则你的代码将运行无限的时间,你的系统可能会崩溃。

现在对于你的情况,因为你在迷宫中,所以你的基本条件将是当你进入迷宫的边界时,那就是你将返回到前一次调用的时间。

比方说,我有一个10X10的迷宫。因此,在这种情况下,我的心墙将在: -

(0,0) 
(0,10) 
(10,0) 
(10,10) 

所以,如果我打任何一个他们,那么我应该返回回来。代码方面的基本情况看起来像这样

if(x < 0 || x > 10 || y < 0 || y > 10) 
{ 
    return <some_value>; 
} 

我希望你能明白。

希望这会有所帮助!