小时候玩过一款3D版迷宫,那时还是功能机时代,黑白界面拼凑的伪3D效果还是给我带来了很多快乐。后来出现了智能机,却再也没找到过那样纯粹的迷宫游戏。总算自己找时间做一个出来。

本文主要介绍一下深度优先,Kruskal,Prim几种方式生成迷宫地图的算法,还有一种递归算法,生成的迷宫多长直路,不太适合纯粹的迷宫,所有暂时没有去实现。源码地址:https://github.com/LogicMonst/mazepath
深度优先算法:

思路:从起点出发,随机选择周围没有被遍历过的点,如果周围都被遍历过,则回溯到上一个遍历点,随机选择周围没有被遍历过的点,如此往复,直到遍历所有点。
Kruskal算法:

思路:来源于最小生成树的Kruskal算法。 算法导论里说的很清楚了:

本文介绍了使用深度优先、Kruskal和Prim算法生成迷宫地图的方法。深度优先算法可能产生较长但明显路径的迷宫,适合初学者;而Kruskal和Prim算法则生成多分岔、有一定难度的迷宫路径。配合Unity,可以实现具有挑战性的迷宫游戏。源码可在GitHub项目mazepath中获取。

690

被折叠的 条评论
为什么被折叠?



