2015-04-15 64 views
-5

我希望能夠在一個文件中生成一個完美的迷宮(C)。迷宮本身將如下表示:在C中生成一個完美的迷宮

**XX**X* 
X**X**** 
XX*X*XX* 
XX***XX* 

這意味着X是牆和'*'是空的空間(可以移動的地方)。

我現在所做的是:如果在啓動時由用戶選擇,則生成一個'X'塊及其大小。

例子:

./maze 10 5 

會產生:

XXXXXXXXXX 
XXXXXXXXXX 
XXXXXXXXXX 
XXXXXXXXXX 
XXXXXXXXXX 

所有我現在要做的就是實現我的算法。

但遺憾的是,從我發現生成完美迷宮的很多算法中,大多數算法都是用你想象中的牆壁繪製的,而不是文件中的字符,所以我不知道如何在這種情況下執行它。

我的主源是:

http://www.quora.com/What-are-the-algorithms-to-generate-a-random-maze

你們能告訴我,我怎麼能實現我的特殊情況下這樣的事情?

提前致謝!

+3

你到目前爲止試過的任何代碼? –

+0

在你的問題中有兩個部分:第一,調整一個算法,使用牆作爲單元而不是邊界。然後實現它來表示每個單元格與一個字符。無論如何,你的問題現在並沒有足夠的重視SO,所以請嘗試實施一些事情,如果遇到與代碼相關的問題,請回來。 – Quentin

+0

當然,我明白,我應該總是拿出一些東西來展示,但我主要想要一些建議和想法。我稍後會回來做一些工作。謝謝。 – Christopher

回答

0

我認爲如果您將每個單元格展開爲4個單元格,並且如果它們存在,則使用頂部,左側和左上角作爲牆,您鏈接的算法將會起作用。

單元格下面的牆將作爲牆上方的單元格處理,如果這樣做有意義?