在C中生成一个完美的迷宫
Generating a perfect maze in 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
你们能告诉我如何在我的特殊情况下实现这样的事情吗?
提前致谢!
我认为如果您将每个单元格扩展为 4 个单元格,并使用顶部、左侧和左上角作为墙壁(如果存在),您链接的算法将起作用。
单元格下方的墙将被视为下方单元格上方的墙,如果这有意义吗?
我希望能够在文件中(在 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
你们能告诉我如何在我的特殊情况下实现这样的事情吗?
提前致谢!
我认为如果您将每个单元格扩展为 4 个单元格,并使用顶部、左侧和左上角作为墙壁(如果存在),您链接的算法将起作用。
单元格下方的墙将被视为下方单元格上方的墙,如果这有意义吗?