TC官方合作论坛

标题: 【24行核心源码实现拓扑图寻路】拓扑图 寻路最短路径! [打印本页]

作者: 阿三    时间: 2013-11-25 17:56
标题: 【24行核心源码实现拓扑图寻路】拓扑图 寻路最短路径!
本帖最后由 阿三 于 2013-11-25 18:11 编辑

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

  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]的值时一样的都是"瓦当"。
[attach]13014[/attach]

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


一共 24行搞定寻路核心代码。而且寻路利用堆栈算法。直接求得结果。效率应该算是很高的了。
脚本中详细介绍 栈 的实现 详细注释  更好的让大家了解堆栈的概念 。
tc项目文件:





作者: 2596060677    时间: 2013-11-25 18:46
999999999999999
作者: klyyz1980    时间: 2013-11-25 18:49
算法没仔细看,但是想法很好,虽然表达的让人晕菜.
作者: agan2012    时间: 2013-11-25 18:49
Good Good  Study  ,  Day Day Up  !
作者: 我是冰冻的番茄    时间: 2013-11-25 19:49

作者: 25705871    时间: 2013-11-25 20:30

作者: cylhb    时间: 2013-11-25 20:32
支持分享。。

作者: nickof    时间: 2013-11-25 21:09
围观学习咯
作者: ctvftv    时间: 2013-11-25 21:27
kanxia silu
作者: liumangdayi    时间: 2013-11-25 22:22
132222222
作者: heeman    时间: 2013-11-25 23:11
好吸引啊,,这个标题

作者: tc19831113    时间: 2013-11-25 23:15
求学习

作者: 兜兜里有糖    时间: 2013-11-25 23:21

作者: tc19831113    时间: 2013-11-25 23:43
好怕数组啊





作者: shadow    时间: 2013-11-26 00:11
看看那大神啊
作者: a8012602    时间: 2013-11-26 08:54
24行核心源码实现拓扑图寻路
作者: a8012602    时间: 2013-11-26 08:58
24行核心源码实现拓扑图寻路
作者: whoyeyang    时间: 2013-11-26 10:31
收藏了
作者: 54984871    时间: 2013-11-26 10:33
看看
作者: 472491031    时间: 2013-11-26 22:26
好东西学习了
作者: gxlove    时间: 2013-11-27 00:18
学习学习
作者: laozeixp    时间: 2013-11-27 21:37
看看有意义
作者: 694840212    时间: 2013-12-1 20:03
yy3s1
作者: 694840212    时间: 2013-12-1 20:05
请问  这个游戏里的怪鼠标不移动到怪物身上  没有名字显示   怎么能自动找怪呢?
作者: vivian564335    时间: 2013-12-3 10:57
实现选择城市
作者: noah1988    时间: 2013-12-3 11:59
高手啊
作者: hongxuan01    时间: 2013-12-11 02:32
看看

作者: chnhi    时间: 2013-12-11 03:11
不回复不能看,本着学习的态度,我回复下~
作者: qvoovq    时间: 2013-12-17 19:24
444444444
作者: dtok2013    时间: 2013-12-17 21:20
看看学习下
作者: 小楠2C1    时间: 2013-12-21 19:21
看看效果吧  怎么样
作者: 世外高人    时间: 2014-1-2 13:08
看看看看看看看看
作者: 烦人的茄子    时间: 2014-1-3 10:52
垃圾上课弄
作者: poyo201    时间: 2014-1-4 03:40
看看还不错
作者: jxjyzzc    时间: 2014-1-6 00:20
不错的思路,学习
作者: JSDYWZ    时间: 2014-1-16 16:07
24行核心源码实现拓扑图寻路
作者: 328463118    时间: 2014-1-21 14:28

作者: rainshine    时间: 2014-1-21 15:42
图论 这让我想起四色问题唉、
作者: 忽悠大王    时间: 2014-1-21 17:55
这个NB.学习一下。

作者: bbsdt007    时间: 2014-1-22 00:19
学习看看了
作者: 行尘    时间: 2014-1-22 04:53
看看看看看看
作者: 313442275    时间: 2014-1-22 08:07
dfgfsdg
作者: znyyjk    时间: 2014-1-22 22:05
大厦大厦大厦大厦大厦大厦大厦大厦大厦
作者: kkddij    时间: 2014-2-5 19:17
看看
作者: 冷清寒    时间: 2014-2-5 21:31
这个实用性很高哦
作者: 美珍子    时间: 2014-2-6 00:25
好像很好玩的样子~
作者: hussle    时间: 2014-2-9 23:07
学习学习
作者: shenjkl    时间: 2014-2-10 14:59
回复看看
作者: 老猫    时间: 2014-2-11 06:30
阿三的都是经典非常实用的.  堆栈是个好东西啊
作者: zmm5213    时间: 2014-2-12 09:21
1244454
作者: 蓉蓉哎    时间: 2014-2-12 21:32
2222222222
作者: zxl19891030    时间: 2014-2-14 13:09
111111111111
作者: lyn0128ue0601    时间: 2014-2-18 00:22
看看············
作者: 18751681775    时间: 2014-2-20 23:36
什么样的
作者: 果爱    时间: 2014-2-21 11:23
谢谢分享
作者: csxiaojiu    时间: 2014-2-26 13:23
啊啊啊啊啊啊啊啊
作者: caijuan2013    时间: 2014-2-26 17:17
check
作者: wpql512    时间: 2014-3-2 15:07
11111111111
作者: faithk    时间: 2014-3-17 17:54
回复看看
作者: venski    时间: 2014-3-18 01:53
很好的代码!~
作者: weikang789    时间: 2014-3-21 00:54
看看学习下
作者: dshp4050    时间: 2014-3-24 03:55
学习
作者: 言术    时间: 2014-3-24 09:58
看一看
作者: 不见不散258    时间: 2014-3-24 11:18
5555555555555555
作者: gl8019786    时间: 2014-4-7 02:40
gggggggggggggggg
作者: fch1008    时间: 2014-4-7 09:20

作者: 379061296    时间: 2014-4-8 01:53
242444444444444444444444444444444444444555555555555555555
作者: zhujun8469    时间: 2014-4-8 06:09
看看

作者: zhujun8469    时间: 2014-4-8 06:13
看看
作者: 如此美丽。    时间: 2014-4-13 15:24
这真是极好的  
作者: gloryskypku    时间: 2014-4-16 09:48
学习学习
作者: dengganyun    时间: 2014-5-8 23:35
555555555555
作者: qq2290081353    时间: 2014-5-9 12:27
有的学习就是一种荣幸支持
作者: xzhbban    时间: 2014-5-10 23:06
简单的自动喊话工具

作者: xuhekkll    时间: 2014-5-12 14:50
331631953
作者: luoliang0    时间: 2014-5-26 07:35
表示感谢
作者: tc_ldl    时间: 2014-5-26 09:13
很好的思路!!
作者: 千叶de悠一    时间: 2014-5-26 17:33

围观学习咯
作者: 灬功夫熊猫灬    时间: 2014-6-1 18:01
学学看看
作者: dypsun    时间: 2014-6-16 12:54
5tg5g56g5
作者: userves    时间: 2014-7-5 10:24
学习学习~~~~~~~~~~~~~~
作者: gggrdf01    时间: 2014-7-8 08:18
dfadsfad324
作者: fpx90    时间: 2014-7-9 15:52
xuexi
作者: EZ脚本学院    时间: 2014-7-19 20:18
很好 很强大
作者: 江风影    时间: 2014-7-19 21:55
学习学习
作者: a125675677    时间: 2014-7-23 14:21
aaaaaaaaaaaaaaa
作者: dpx004    时间: 2014-7-26 11:06
看看!!!
作者: 80431775    时间: 2014-7-26 14:35
打撒打撒
作者: zxk123    时间: 2014-8-7 19:57
看一看瞧一瞧煎饼果子来一套
作者: ktv9779    时间: 2014-8-8 15:10
十大 打撒
作者: 霸天虎    时间: 2014-8-10 12:19
没啥说的先顶在下!!!!!!!!!!

作者: ycy123321    时间: 2014-8-17 17:08
ghjghkljhljh
作者: flywithblue    时间: 2014-8-23 23:09
吼吼吼吼吼吼吼吼吼
作者: 冷月无痕    时间: 2014-9-23 22:09
好算法要学习
作者: 晴天    时间: 2014-9-24 16:51
红太阳劲乐团
作者: daijinqq    时间: 2014-9-25 10:34
嗯,来看看吧,
作者: q0252    时间: 2014-10-1 20:56

算法没仔细看,但是想法很好,虽然表达的让人晕菜
作者: da1990    时间: 2014-10-2 01:09
很强大的思想
作者: 为狼浪漫    时间: 2014-10-8 02:11
看看
作者: zhuyuy    时间: 2014-10-9 07:19





欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1