计算网格上两个正方形之间的距离 - Java

时间:2014-07-24 11:08:34

标签: java math coordinates distance euclidean-distance

我正在用Java创建一个游戏,并且有一个构成可玩区域的正方形网格。玩家有一定的目标,我需要使用方块的x和y坐标值计算出玩家离这些目标有多远。因此,如果玩家在单元格1,1上,我需要知道距离单元格2,2的距离是2个方格(2个移动输入) - 你不能对角移动。

我找到了欧几里德距离公式,但我不确定如何将其转换为Java并且它没有考虑到我不能对角移动所以我不确定是否这甚至是适用的。

我缺少一些简单的公式吗?我似乎无法找到一个。感谢。

1 个答案:

答案 0 :(得分:5)

是的,有一个简单的公式:Math.abs(x1 - x2) + Math.abs(y1 - y2)

Math.abs是绝对值函数 - 如果参数是正数,则返回该值;否则返回相应的正数(所以Math.abs(-5)返回5)