迷宫说明
1、只有一个出口,一个入口 2、入口到出口路径是相通的且只有一条唯一的路径
生成方式原理生成矩阵basicMap的时候,先规定路都被墙包围,并且生成一份用来遍历标识的数据visited,在遍历过程中,标识每一次遍历的格子在visited总标识,取当前临近的上下左右四个格子,并且判断坐标没有越界 且 没有被访问过,打通两个路之间的墙,使得两个路联通
通用style与html
html, body {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
text-align: center;
}
#map {
display: inline-block;
border: 2px solid #6a6f77;
margin-top: 120px;
}
.line {
height: 30px;
width: 100%;
}
.wall, .road {
width: 30px;
height: 30px;
display: inline-block;
}
.wall {
background: #45494c;
}
.road {
background: #ffffff;
}
.cre {
background: #0366D6;
}
栈的方式递归生成
const basicMap = [] // 迷宫数据
const visited = [] // 逻辑访问数据
const range = [[-1, 0], [0, 1], [1, 0], [0, -1]] // 偏移量
/**
* 生成地基,每个可通行的方格都间隔一堵墙
*/
function createBasis(x, y) {
for (let i = 0; i
关注
打赏