工作原理

这个迷宫是一个完美迷宫:它是格子网格上的一棵生成树,因此任意两个格子之间正好只有一条路径,没有环路。它是用随机深度优先回溯生成的:从左上角格子出发,生成器不断随机走向一个未访问的邻居格子,打通它们之间的墙,并把经过的格子记入一个栈。当某个格子已没有未访问的邻居时,生成器沿栈回溯,直到找到一个有未访问邻居的格子,或者栈已清空、迷宫生成完毕。

Play和速度会逐步播放动画,每步打通一道墙或回溯一步,并高亮当前格子与回溯栈。瞬间完成会直接跳到生成完毕的迷宫。Show Solution会从左上角格子到右下角格子运行一次广度优先搜索,并高亮最短路径——广度优先搜索之所以能最先找到它,是因为它按到起点距离递增的顺序探索各个格子。

迷宫由一个种子生成,该种子保存在页面网址的?seed=参数中,因此重新加载或分享链接都会生成完全相同的迷宫。