游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2839|回复: 4

A*寻路演示程序,希望高手来进一步优化

[复制链接]

15

主题

76

帖子

80

积分

注册会员

Rank: 2

积分
80
QQ
发表于 2005-7-25 15:13:00 | 显示全部楼层 |阅读模式
本程序是在 空明流转 代码(http://blog.gameres.com/thread.asp?BlogID=170&threadid=11463)基础上修改得来,
参考了 林伟 的思想(http://blog.csdn.net/skywind/archive/2002/11/14/6076.aspx)
主要改进处:
1,所有节点在载入地图时构建,寻路时只传地址,提高了效率。
2,取消了closed表,代用标志位表示,open表用STL中priority_queue构造。
3,可以进行多次寻路而不必修改原来走过的节点。
4,只需修改地图路径便可以处理不同的字符地图(障碍物和路径字符随意设定)

map1.dat,map2.dat为地图文件,该路径可由AStarDemo.cpp设置。
第一行代表地图的宽和高
第二行代表起点坐标
第三行代表终点坐标
第四行代表表示障碍物和表示路径的字符
其余为地图
地图坐标系自左上角为(0,0)点,右为正X,下为正Y

我用自己写的测试类(o_time.h)测量寻路时间(精度很高),演示程序中分别测量了一次寻路和1000次寻路的时间,自我感觉还不错(虽然赶不上林伟的程序),若你能进一步优化(程序结构,寻路速度),请一起分享。

sf_2005725151311.rar

64.13 KB, 下载次数:

15

主题

76

帖子

80

积分

注册会员

Rank: 2

积分
80
QQ
 楼主| 发表于 2005-7-25 15:46:00 | 显示全部楼层

Re:A*寻路演示程序,希望高手来进一步优化

忘了说了,程序是用VC7.1写的,用VC6编译的话需要修改些地方,压缩包里有个exe文件

15

主题

76

帖子

80

积分

注册会员

Rank: 2

积分
80
QQ
 楼主| 发表于 2005-7-25 22:48:00 | 显示全部楼层

Re:A*寻路演示程序,希望高手来进一步优化

A*算法 书上说得很清楚,但是要写出高效且通用的程序确实在不容易,就没人愿意看下代码发表点看法吗?我知道看别人的程序都很痛苦,不过我注释写得还算详细,希望大家来一起探讨下

14

主题

88

帖子

92

积分

注册会员

Rank: 2

积分
92
发表于 2005-7-25 23:52:00 | 显示全部楼层

Re:A*寻路演示程序,希望高手来进一步优化

呵呵,大家都是研究人工智能的,支持支持~~
如果作者有意思的话,可以写好接口,放入我的寻径算法演示平台里面以供比较。

3

主题

124

帖子

124

积分

注册会员

Rank: 2

积分
124
发表于 2005-8-9 17:59:00 | 显示全部楼层

Re:A*寻路演示程序,希望高手来进一步优化

似乎太慢。79*24的地图需要0.6ms。1000*1000需要多少?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-26 19:44

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表