0

因此,可以说迷宫已经由算法生成。你怎么知道迷宫的起点和终点在哪里?因为一开始,你选择了一个随机的单元格,而算法完成后你不知道迷宫在哪里结束

4

1 回答 1

0

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

编写递归函数时要记住的第一件事是,它总是需要一个基本条件,基本条件是指一段将充当端点的代码,否则您的代码将无限运行并且您的系统可能会崩溃。

现在在您的情况下,因为您在迷宫中,所以您的基本条件将是当您到达迷宫的边界时,这就是您将结果返回到上一次调用的时间。

例如,假设我有一个 10X10 的迷宫。所以在这种情况下,我的墙将位于:-

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

因此,如果我击中了他们中的任何一个,那么我应该返回。就代码而言,您的基本案例看起来像这样

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

我希望你能明白。

希望这可以帮助!

于 2017-05-24T19:01:06.773 回答