Chinaunix首页 | 论坛 | 博客
  • 博客访问: 378556
  • 博文数量: 466
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-16 13:59
文章分类

全部博文(466)

文章存档

2015年(466)

我的朋友

分类: C/C++

2015-03-16 15:09:14


任务: A 点移动到,B点,画 X 的表示不能通过,计算最优路径。入下图所示:


寻路图片

如上图所示,最优的路径为红线表示路径。计算方法如下:

1>     地图数据可以看做一个个的正方形格子。

2>     将所有地图格子的数值都初始化为 1000 (假设最多移动1000步)

3>     将画 X 的格子,设置值为 -1,表示此格子不能通过

4>     B 点出格子的数值设置为 0,然后向四周发散,如果某个的格子的数值比 B 点的大,则将此处的格子值设置为 “前一个格子的值 + 1”,然后以次格子为中心,以此向外发散。

5>     最后,找到 A 点时,A 点处的格子的值为 14,此时,从A B的最优路径为:14,13,12,11,10,9,8,7,6,5,4,3,2,1,0

6>     说明,此寻路算法为比较简单的寻路算法,比较适合处理速度有限的嵌入式开发平台。

阅读(713) | 评论(0) | 转发(0) |
0

上一篇:游戏选材分析(1)

下一篇:贪吃蛇游戏

给主人留下些什么吧!~~