A*- not a star in the space, it's on you hands

  A*游戏中的常用寻路算法,做游戏的孩子人手一个的轮子,be a gooleplayer。我也是这样的一个孩子,还想造很多轮子的孩子。

  上周一位新同学问我A*,哈哈,整好去年细看了,给简单描画了一下。记得上次写A*,是zack给我们介绍了一个a*的优化算法,JPS(jump point search),我用这个算话改写优化了一下服务器的A*。效果不错,测试数据来看大概有100%的提升,服务器路径一般比较短吧,客户端那边要明显很多很多。

  话接上回说,给小同学讲解之后,表示不是很明白----我这表达太菜了,呜呜呜呜。好吧,直观一点,然后我用object c写了一个有过程掩饰的A*,想想自己的虚拟机,潸然泪下。objec c自己一直是纸上谈兵,这次也给做个小菜尝尝,xcode做ui那是真心的方便啊,quartz也很赞!!!然后,然后是一直键盘声,和vmware的卡咔咔咔,再然后,再然后就这玩意儿就可以跑了,嘿嘿!

闲话少说,上图!

     



github: https://github.com/garfieldchen/AStarFinding

参考资料:

       1.  http://www.policyalmanac.org/games/aStarTutorial.htm这是一篇好文 

2. http://snowyrock.wordpress.com/2007/07/15/a%E8%B7%AF%E5%BE%84%E5%AF%BB%E6%89%BE%E7%AE%97%E6%B3%95%E5%85%A5%E9%97%A8/这是上文的中中文版

       3. http://harablog.wordpress.com/2011/09/07/jump-point-search/  JPS 算法,G +  F + W 你懂的


这个object c版的a*只实现了,基本的A*,暂时没有实现我提到的JPS,但不久也就有了,代码可以随意使用,谢谢你看得起,哈哈。

使用说明 vm mac osx 10.7 + xocde 4.1 

step1 : create map

step2: create block 0 - n times

step3. mouse down on some none block tile,  drag to another tile, release, there's it, enjoy!

        color : orange - > open node , purge -> close node, green -> target position,  blue ===== oh, god , thanks, it's the way home.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值