迷宫生成
① 十字分割 递归版本
② BFS(即广度算法)
十字分割方法生成
要求初始时迷宫内全是通路,然后随机十字建墙,然后随机在三面墙上打洞,使四个子空间连通。
要求:十字点横纵坐标均要求为偶数(即地图行列为奇数),打洞点要求为奇数。
DFS 方法生成:
像一只地鼠打洞一般,迷宫要求初始时全是阻碍(墙),然后随机方向打洞(挖墙)。
要求,待挖墙的通路(打洞方向)只能与访问过的节点处打穿。
实战演练
十字分割
非常简单的一个方法,不过游戏效果不是很好。下面介绍下算法过程:
首先全部围起来,然后做一个十字墙
打通十字墙任意三堵墙
递归生成十字墙,然后打通任意三堵墙
然后就生成了最简单的迷宫(其实没啥卵用的迷宫,就当是温习递归