在《Problem Solving with Algorithms and Data Structures》一书的141页,作者给出了一个迷宫寻路的程序。程序的核心是一段递归程序,通过不断尝试,找到从起点到终点的路。虽然不是最短路径,但程序可以动态显示寻路的过程,对于理解递归过程非常有帮助。
书中给出的程序见“http://download.youkuaiyun.com/detail/pospro/8952965”,运行之后就会发现,由于是基于turtle作图(注:turtle是python自带的一个绘图函数集),画迷宫本身就要花费太多时间,让人无法一下抓住核心。
在这里,PosPro引入pygame取代原有的turtle,大大降低了载入迷宫所花费的时间。同时利用pygame的函数产生了可以媲美turtle的动态效果。全部程序及相关资源见:http://download.youkuaiyun.com/detail/pospro/8947365
程序运行后的效果如下:
下面对程序进行逐段分析:
首先建立一个迷宫类(Maze),包含四个函数:构造函数__init__, 实现索引取数的__getitem,判断是否是迷宫出口的isExit,以及动态显示变化的updateScreen
构造函数的详细代码如下。这一段代码完成了以下工作:
1.按照pygame

本文介绍了如何使用递归算法和pygame库创建一个动态展示迷宫寻路过程的程序。通过对比原书中基于turtle的版本,演示了如何用pygame减少加载时间并提升视觉效果。文章详细解析了程序的各个部分,包括迷宫类的构造、动态显示更新及核心的递归寻路函数。提供了一个改进版的pygame实现程序链接。
最低0.47元/天 解锁文章
1511

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



