我希望能够在文件中生成一个完美的迷宫(在C中)。迷宫本身将这样表示:

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


表示X是墙壁,而'*'是空白(可以移动的位置)。

我现在所做的是:如果用户在启动时选择了X,则生成一个X块及其大小。

范例:

./maze 10 5


会产生:

XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX


现在我要做的就是实现我的算法。

但是可悲的是,从我发现可以生成完美迷宫的许多算法中,大多数算法都是按照您想象的那样绘制墙壁,而不是文件中的字符,因此我不知道如何在其中实现案件。

我的主要来源是:

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

你们能告诉我如何针对我的特殊情况实施这种方法吗?

提前致谢 !

最佳答案

我认为,如果将每个单元格扩展为4个单元格,并使用上,左和左上角作为壁,则链接的算法将起作用。

单元格下方的墙将作为下方单元格上方的墙处理,是否有意义?

09-05 15:46