对某游戏特殊地图的自动寻路解决办法
本帖最后由 lxj8378 于 2015-5-27 10:54 编辑本人懒人一个,对于能不自己做的事,从不喜欢自己动手。
前一段时间迷上一个游戏,玩的太累,自己动手写了一个小挂,能自动升到30多级,心里美滋滋的,可到了某级后,由于这个游戏的操蛋,让我非常愤怒。
我们看这个地图,为什么这个样子一段段的,这个样子也就罢了,竟然不能自动寻路,这个游戏的自动寻路call不能用,难道我在这种地图下就必须自己手动吗,这样的地图任务可是很多啊。
难道我的幸福计划就此终结?我不甘心,想办法,经过数个小时,我终于想出一个计划。
首先利用原来编好的地图搜索程序把地图数据读出来(地图数据全是0、1,代表是否不能行走,1的地方不能走,0的地方可以)
读出的地图数据:
把地图数据转成以行存储的方式,好像有个lzw图像的无损压缩算法和这个差不多
比如1100011可以转成1,0,1|0,2,4|1,5,6也就是说第1个是数据0或1,第二个第三个是数据开始和终止位置,为的是减少数据量放到文件里。
把地图分成数个区域,通过填充算法把数据变成几个区域,能走的地方不再是0而是从2开始的数个数字。
这样再进行寻路的时候,首先查询当前坐标的区域值,如果区域值相同,可以直接调用游戏自身的call,如果不在同一个区域,则查询地图跳转点,用A*算法找出一个寻路的方法。
我不喜欢直接贴源码,而且我用autoit编的,(因为原来指望编模拟点击的挂,后来编着编着成了内存挂,一点点击的也不用了,毕竟那东西受限制太多)所以出了源码可能大家也不喜欢看。
如果你真的明白这个道理,自己写代码就行,如果不明白道理,给你源码,只会让你更头晕,所以不再贴上源码
本人本身就是一个菜鸟所以做出的东西也有点差所以高手不要笑我。
厉害看这个地图有点像传奇里的祖码庙呀是不是呀
..这个叼{:1_908:}看着地图就晕了 完全晕乎了 看来我的表达能力有点问题 感觉像是传奇啊。。。。。。。。。。。。 为什么看的好晕 这是传奇世界把. 碉堡了,完全看不懂 楼主威武!
页:
[1]
2