首页 理论教育 快速搭建路径搜索框架

快速搭建路径搜索框架

时间:2023-10-22 理论教育 版权反馈
【摘要】:图11-6 准备素材图片图11-7 界面布局布局文件main.xml的主要代码如下3)编写文件Game.java,实现算法类框架,此文件的具体实现流程如下■ 定义绘制类并设置搜索过程。5)编写文件MySurfaceView,在此实现路径搜索功能。■ 绘制一个大的矩形作为外框,并对地图进行循环检测,为0时表示绘制白色矩形,为1时表示绘制黑色障碍物。■ 绘制搜索过程,分别绘制深度优先、广度优先、广度优先A*算法和Dijkstra算法的搜索过程和结果。执行程序之后的效果如图11-8所示。

快速搭建路径搜索框架

1)将素材图片保存在项目的“res\drawable-mdpi”目录下,如图11-6所示

2)实现UI界面布局,如图11-7所示。

978-7-111-54543-9-Part03-59.jpg

图11-6 准备素材图片

978-7-111-54543-9-Part03-60.jpg

图11-7 界面布局

布局文件main.xml的主要代码如下

978-7-111-54543-9-Part03-61.jpg

978-7-111-54543-9-Part03-62.jpg

3)编写文件Game.java,实现算法框架,此文件的具体实现流程如下

■ 定义绘制类并设置搜索过程。

■ 定义系统常量来表示不同算法的标志。

■ 定义clearState(),实现初始化引用。

■ 通过switch语句进行相应的算法处理。

文件Game.java的主要代码如下。

978-7-111-54543-9-Part03-63.jpg

978-7-111-54543-9-Part03-64.jpg

978-7-111-54543-9-Part03-65.jpg

4)编写文件MapList.java,此文件的具体实现流程如下。

■ 定义地图类MapList,此类包含了所有的地图信息。

■ 通过定义目标点的位置数组可以添加多个目标点。(www.xing528.com)

■ 在运行时选择不同的目标点来测试同一种搜索算法在不同情况下的运行效果

文件MapList.java的主要代码如下。

978-7-111-54543-9-Part03-66.jpg

978-7-111-54543-9-Part03-67.jpg

5)编写文件MySurfaceView,在此实现路径搜索功能。此文件的具体实现流程如下。

■ 绘制一个大的矩形作为外框,并对地图进行循环检测,为0时表示绘制白色矩形,为

1时表示绘制黑色障碍物。

■ 绘制搜索过程,分别绘制深度优先、广度优先、广度优先A*算法和Dijkstra算法的搜

索过程和结果。

■ 在指定位置绘制出发点和目的地。 文件MySurfaceView的主要实现代码如下。

978-7-111-54543-9-Part03-68.jpg

978-7-111-54543-9-Part03-69.jpg

978-7-111-54543-9-Part03-70.jpg

978-7-111-54543-9-Part03-71.jpg

(6)编写实例文件AxingComparator.java,在此文件中定义了一个A*算法所使用的比较器类AxingComparator,主要代码如下。

978-7-111-54543-9-Part03-72.jpg

978-7-111-54543-9-Part03-73.jpg

执行程序之后的效果如图11-8所示。

978-7-111-54543-9-Part03-74.jpg

图11-8 执行效果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈