0
所以可以说迷宫已经由算法产生了。你怎么知道迷宫的起点和终点在哪里?因为在开始时,你选择一个随机单元格,并且在算法完成后你不知道迷宫结束的位置递归回溯迷宫发生器(开始/结束)
所以可以说迷宫已经由算法产生了。你怎么知道迷宫的起点和终点在哪里?因为在开始时,你选择一个随机单元格,并且在算法完成后你不知道迷宫结束的位置递归回溯迷宫发生器(开始/结束)
我想先说你的问题不是很清楚,你没有提供任何具体的解释你需要但我仍然会试着回答你的问题。
在编写递归函数时要记住的第一件事是,它总是需要一个基本条件,基本条件我的意思是一段代码将作为终结点,否则你的代码将运行无限的时间,你的系统可能会崩溃。
现在对于你的情况,因为你在迷宫中,所以你的基本条件将是当你进入迷宫的边界时,那就是你将返回到前一次调用的时间。
比方说,我有一个10X10的迷宫。因此,在这种情况下,我的心墙将在: -
(0,0)
(0,10)
(10,0)
(10,10)
所以,如果我打任何一个他们,那么我应该返回回来。代码方面的基本情况看起来像这样
if(x < 0 || x > 10 || y < 0 || y > 10)
{
return <some_value>;
}
我希望你能明白。
希望这会有所帮助!
我不认为你在你的问题中提供了足够的信息。 – hatchet
假设你有一个很大的迷宫,没有超过1个入口和1个出口,你可以从任何地方开始,最终你会在这两个地方结束..但你需要能够知道你在开始/结束。 – AlexG
你可以选择任何开始和退出你喜欢的。 –