2017-05-24 90 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>; 
} 

我希望你能明白。

希望這會有所幫助!