请选择 进入手机版 | 继续访问电脑版
加入学习
联系我们400-456-7892
电子邮箱services@dipreal.com
易编远航 首页 技术/赚钱 编程技术 查看内容

[新手系列六]-计算距离自己最近的怪物/包裹/金矿坐标

2017-8-11 10:36| 发布者: 905230496| 查看: 2257| 评论: 109|原作者: 905230496

摘要: 在实际应用中,很多游戏是木有自动打怪/捡物(类传奇)的,我们需要使用鼠标进行点击相应怪我或者物品进行攻击或捡取。那么在这种情况下,从距离角色最近的位置开始攻击或者捡取可就是非常有必要的咯! 知识点引入 ...
在实际应用中,很多游戏是木有自动打怪/捡物(类传奇)的,我们需要使用鼠标进行点击相应怪我或者物品进行攻击或捡取。那么在这种情况下,从距离角色最近的位置开始攻击或者捡取可就是非常有必要的咯!

知识点引入:


数学知识:已知坐标求距离

已知坐标A(X1,Y1)、B(X2,Y2),那么AB之间的距离有一个计算公式:

距离=sqr((X1-X2)^2+(Y1-Y2)^2)

即:距离等于两个坐标的横坐标之差的平方,加上纵坐标之差的平方,两个平方相加,再取它们的平方根。




算法知识:冒泡排序

介绍:

冒泡排序(Bubble Sort),这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,像鱼吐泡泡一样。同样,也可以让越大的元素沉到数列底部。


算法原理:


冒泡排序算法的运作如下:(从后往前)

1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

3.针对所有的元素重复以上的步骤,除了最后一个。

4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。




思路解析:

1.获取到人物的坐标,以及各个物品的坐标,存入数组;
2.计算人物距离各个物品的坐标距离,存入数组;
3.通过各个坐标距离的比较,从而获取到最小距离(距离人物最近的物品)以及最大距离(距离人物最远的物品),输出相对应的物品坐标。

以下为干货:
]说了那么多,其实上面说的都是废话。在大漠中本身就提供了这个函数!
 
图中框起来的两函数都是有计算排除作用的。
其中:FindNearestPos    解析返回的是最近的一个嘴巴
其中:SortPosDistance   解析返回的是按坐标的距离进行从小到大的排序
 远航模块中的例子
 

加入VIP会员解锁更多姿势:点击加入


1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

此篇文章已有109人参与评论

请发表评论

全部评论

查看全部评论>>

相关分类

点击进入学习

QQ|Archiver|手机版|小黑屋|易编远航 ( 粤ICP备14079334号 [绑定手机] 充值积分 |

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  广州良师益友文化传播有限公司 ICP证:粤ICP备13026616号 增值电信业务经营许可证:粤B2-20140196

返回顶部