TC官方合作论坛

 找回密码
 立即注册
查看: 47924|回复: 226

[TC5.0源码] 【24行核心源码实现拓扑图寻路】拓扑图 寻路最短路径!

  [复制链接]
发表于 2013-11-25 17:56:19 | 显示全部楼层 |阅读模式
本帖最后由 阿三 于 2013-11-25 18:11 编辑

比如我们需要到达某一个点,需要从最近的路径过去.看下图:

如果从瓦当出发,去古洞。那么,可以是瓦当—洛阳—南郡—古洞。。。瓦当—洛阳—冰峪—南郡—凤翔—古洞。。
怎么走才到,经过几个城市。路途最短怎么走。。。
这就是拓扑图最短路径算法了。
那遇到这样的图,我们怎么在代码上把图画出来呢。利用二维数组。比如,这个图。代码如下:

  1. 地图数组=数组[100][7]//定义一个二维数组,装每一座城市
  2.     地图数组[1][0]="瓦当",地图数组[1][1]=1,地图数组[1][2]=2,地图数组[1][3]=4
  3.     地图数组[2][0]="洛阳",地图数组[2][1]=2,地图数组[2][2]=1,地图数组[2][3]=3,地图数组[2][4]=4,地图数组[2][5]=5
  4.     地图数组[3][0]="冰峪",地图数组[3][1]=3,地图数组[3][2]=2,地图数组[3][3]=5,地图数组[3][4]=7
  5.     地图数组[4][0]="落水",地图数组[4][1]=4,地图数组[4][2]=1,地图数组[4][3]=2,地图数组[4][4]=5,地图数组[4][5]=6
  6.     地图数组[5][0]="南郡",地图数组[5][1]=5,地图数组[5][2]=2,地图数组[5][3]=3,地图数组[5][4]=4,地图数组[5][5]=6,地图数组[5][6]=7
  7.     地图数组[6][0]="凤翔",地图数组[6][1]=6,地图数组[6][2]=4,地图数组[6][3]=5,地图数组[6][4]=7,地图数组[6][5]=8
  8.     地图数组[7][0]="徐州",地图数组[7][1]=7,地图数组[7][2]=3,地图数组[7][3]=5,地图数组[7][4]=6
  9.     地图数组[8][0]="古洞",地图数组[8][1]=8,地图数组[8][2]=6
复制代码
地图数组[1] [0] 装地图名称 地图数组[1] [1]装地图代号 后面的装 地图所能到的其他地图代号
这儿,阿三是从1开始的,为了方便编号 ,不过TC来说,从0开始,大家以后做的时候 ,可以从0开始。
这样,我们就把这张图做出来了。
这样的话,值需要这样调用,如需要 "瓦当" 这个元素:
地图数组[1] [0],这样就行了!甚至可以这样:地图数组[地图数组[2][2] ][0].
这是什么意思呢?要一层一层的解析。括号里面的首先看喽。 地图数组[2][2]这个是地图2的第三个元素。结果返回的是1.那么就是:地图数组[1 ][0]了,这儿的1是地图数组[2 ][2] 的返回值。所有,地图数组[1 ][0] 和地图数组[地图数组[2][2] ][0]的值时一样的都是"瓦当"。


做了个控件,让其实现选择城市,然后在下面体现两个城市的寻路路径。
核心代码很短。

游客,如果您要查看本帖隐藏内容请回复

一共 24行搞定寻路核心代码。而且寻路利用堆栈算法。直接求得结果。效率应该算是很高的了。
脚本中详细介绍 栈 的实现 详细注释  更好的让大家了解堆栈的概念 。
tc项目文件:
游客,如果您要查看本帖隐藏内容请回复





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

发表于 2013-11-25 18:46:31 | 显示全部楼层
999999999999999
回复 支持 反对

使用道具 举报

发表于 2013-11-25 18:49:20 | 显示全部楼层
算法没仔细看,但是想法很好,虽然表达的让人晕菜.
回复 支持 反对

使用道具 举报

发表于 2013-11-25 18:49:54 | 显示全部楼层
Good Good  Study  ,  Day Day Up  !
回复 支持 反对

使用道具 举报

发表于 2013-11-25 19:49:02 | 显示全部楼层
回复

使用道具 举报

发表于 2013-11-25 20:30:53 | 显示全部楼层
回复

使用道具 举报

发表于 2013-11-25 20:32:03 | 显示全部楼层
支持分享。。
回复

使用道具 举报

发表于 2013-11-25 21:09:14 | 显示全部楼层
围观学习咯
回复 支持 反对

使用道具 举报

发表于 2013-11-25 21:27:00 | 显示全部楼层
kanxia silu
回复 支持 反对

使用道具 举报

发表于 2013-11-25 22:22:41 | 显示全部楼层
132222222
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-4-20 17:18 , Processed in 0.042625 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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