【发布时间】:2020-11-12 13:39:18
【问题描述】:
所以,我正在做一个机器人算法游戏,我有 2 个玩家和 7 个球。
我设法计算了每个球员和每个球之间的距离,但现在我需要我的球员移动到距离球员最近的球的坐标。
Players 和 Balls 是 2 个类,有 2 个整数,x 和 y 是它们的坐标。
我通过使用计算距离
Math.sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1))
现在我需要以某种方式获取最短距离的 x 和 y 坐标。我想过反转公式以获得x值和y值,但我不确定它会给我带来想要的结果.
您有什么想法或不同的方法想法吗?我只需要一些想法和解决方法,剩下的由我来做。
无法发布代码,因为许多其他方法、类等未存储在本地,因此我无权访问完整的源代码。如果您仍然认为您可以在代码方面提供更好的帮助,我将在此处上传。
【问题讨论】:
-
你说你需要“最短距离的x和y坐标”到底是什么意思?您发布的公式只有 2 组坐标,因此根据定义它们已经是彼此最接近的。或者您是否在代码中使用不同的 X/Y 变量多次计算该公式,并且您想知道哪个结果最低?
-
所以我使用这个公式两次,(每个球员一次),用于存储球的数组。现在,我得到每个球员到每个球的距离。我需要弄清楚如何获得离任何球员最近的球的 x 和 y 坐标。
标签: java algorithm math bots calculation