Three methods to generate a 2D maze, and draw the constructing process using p5.js.
- 代码架构
- 迷宫生成方法
- DFS
- Kruskal最小树
- 递归
- home.html 用浏览器打开,主页
- maze_dfs_back.js 用dfs+回溯求解
- maze_kruskal_mst.js 用最小生成树生成
- maze_recur.js 递归生成
-
DFS
-
Kruskal最小树
-
递归
- 迷宫的一个小方格作为一个cell,cell四边称作墙
- Step1: 把所有x方向的墙构建一个rowWalls矩阵,y方向的墙构建成colWalls矩阵
- Step2: 递归构建左上角为(i1, j1),右下角为(i2, j2)的迷宫,方法为:
- Step3: 随机选择i1 < im < i2, j1 < jm < j2,第im行的墙和第jm行的“十”字将矩形划分为四个部分