生成带有/不带解决方案的迷宫的算法



我在Stack Overflow上发现了这个问题,关于生成迷宫的良好算法。我需要一种算法,该算法也可以生成迷宫,但我可以决定它们是否有解决方案。哪种算法适合此?

使用递归回溯跟踪器生成一个具有一个解决方案的迷宫。或几种可用的算法中的任何一种。

这些算法将生成某种迷宫式数据格式,通常为每个单元格指示其两个边缘的状态(因此,每个单元格两个位(,以及唯一的求解路径。

然后,如果你希望它没有解决方案,请在路径中间选择一个单元格并添加一堵墙,杀死唯一的解决方案。如何做到这一点取决于算法的迷宫数据格式。它可以像

if (noSolution) {
var kill = Math.floor(maze.path.length/2);
maze.cell[maze.path[kill].y]
[maze.path[kill].x].edges = { };
}

最新更新