- 28
- 0
- 约9.54千字
- 约 25页
- 2021-03-13 发布于广东
- 举报
1.引言
在平常的游戏屮,我们常常会碰到随机生成的地图。这里我们就
来看看一个简单的随机迷宫是如何生成。
迷宫描述
随机生成一个m * n的迷宫,可用一个矩阵maze[m][n]来表示,如图:
这里是两个迷宫的例子,其屮〃 〃表示障碍物(Obstacle block)o以图
1丄迷宫为例,我们可用一个9*9的矩阵来表示:
ill0 0 0111
ill
0 0 0
111
10 0
10 1
10 1
10 110 0
111
0 0 0
111
0 0 0
111
0 0 0
0 110 0 0
111
0 0 1
10 1
10 1
10 1
0 0 1
1110 0 0
1(矩阵表示是障碍物,0表示可以行走)
3、迷宫生成算法
(蓝色表示可以行走,棕色表示是墙壁)
如图3.1所示为迷宫的初始化情形,迷宫如果除去其迷宫的外围框架 就是一个7*7的矩阵,如杲要生成一个完整的迷宫,那么就要遍历完 图3.1所示的每一个可以行走的点,其中遍历的点也包含了入I I和出 口,如果每一个点都遍历完了就会生成一棵完整的遍历树,这棵遍历 树包含了入口和岀口所以这颗树所描述的迷宫是有解的(即:入口到 出口时连通的。)图3.2就表示图1.1迷宫遍历所得到的遍历树,树包 含了入口和出口所以此迷宫有解。
1
2
3 p
4
5
6
7
/I ? 1 Ek 1 1 k /I i t
原创力文档

文档评论(0)