我希望能够在文件中生成一个完美的迷宫(在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个单元格,并使用上,左和左上角作为壁,则链接的算法将起作用。
单元格下方的墙将作为下方单元格上方的墙处理,是否有意义?