很早以前就写过一个类似的程序,但当时采用是从迷宫的入口处进行深度优先搜索的算法来生成迷宫,这种算法不能确保在指定的起点和终点肯定存在一条有效的路径(如果从起点和终点同时进行搜索也许会好点)。这次受到http://www.sulaco.co.za/maze.htm这篇文章的启发,同样是利用DFS算法,但从内部随机一点开始进行搜索,这种方法可在任意起点和终点(都是边界点)之间生成唯一的一条路径,而且生成速度很快,效果也不错。这里迷宫生成和寻路算法都是用DFS。如果你对迷宫很感兴趣,可以看看这上面的文章http://www.astrolog.org/labyrnth/algrithm.htm,相信一定会惊呀不已。
程序开发:绘图用OpenGL,窗口管理用的是GLUT。
本文介绍了一种使用深度优先搜索(DFS)算法从迷宫内部随机点开始生成迷宫的方法,确保任意边界点间存在唯一路径。此方法相较于传统从入口开始的DFS算法更具优势。文中还分享了使用OpenGL和GLUT实现的绘图和窗口管理细节。
1984

被折叠的 条评论
为什么被折叠?



