在基于图块的游戏中生成迷宫

时间:2013-09-10 21:26:16

标签: java tile

我正在创建一个RPG类型的游戏,我目前正在世界一代。我正在寻找一种生成迷宫的好方法,用于生成森林。我看了几个算法,但似乎没有一个与tile一起使用。他们都与墙壁一起工作。我不能使用墙壁,因为通过移除一面墙我将不得不移除整个块,因为游戏仅由方形16 * 16像素块组成。目前看起来最有希望的是dfs,但仍需要墙壁。

编辑:为了澄清大多数算法的问题,他们认为路径的每个点都是一个单元格,单元格之间的墙壁不占用空间。在我的游戏中,墙壁占据与迷宫其他部分完全相同的大小。因此我无法找到适合生成我想要生成的迷宫类型的算法。

1 个答案:

答案 0 :(得分:7)

通过对每个空间使用四个单元格,您可以非常好地创建墙面。例如,3x3墙基迷宫:

+   + - + - +
|   |       |
+   +   +   +
|       |   |
+ - + - +   +
            |
+ - + - + - +

可以转换为7x7平铺图:

# . # # # # #
# . # . . . #
# . # . # . #
# . . . # . #
# # # # # . #
. . . . . . #
# # # # # # #

转换应该非常明显:对于每个2x2区域,一个角总是一个墙,相对的角总是清晰的,另外两个角代表边。 (外墙的一组边缘也有半个区域。)