我正在用 Java 创建一个游戏,并有一个正方形网格来构成可玩区域。玩家有某些目标,我需要使用方 block 的 x 和 y 坐标值计算出玩家距这些目标有多远。因此,如果玩家位于单元格 1,1 上,我需要知道它距单元格 2,2 2 个方格(2 个移动输入) - 你不能对角移动。
我找到了欧几里德距离公式,但我不确定如何将其转换为 Java,并且它没有考虑到我无法对角线移动,所以我不确定这是否适用。
我缺少一些简单的公式吗?我似乎找不到一个。谢谢。
最佳答案
是的,有一个简单的公式:Math.abs(x1 - x2) + Math.abs(y1 - y2)
Math.abs
是绝对值函数 - 如果参数是正数,则返回该值;否则返回相应的正数(因此 Math.abs(-5)
返回 5)
关于java - 计算网格上两个正方形之间的距离 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24932014/