我正在用Java创造一款游戏,并拥有一个构成可玩区域的方格网格。玩家有特定的目标,我需要利用方块的x和y坐标值计算出玩家离这些目标有多远。所以如果玩家在单元格1,1上,我需要知道它离单元格2,2有2个方块(2个移动输入)——你不能对角线移动。
我找到了欧几里得距离公式,但我不确定如何将其转换为Java,它没有考虑到我不能对角线移动,所以我不确定这是否适用。
是否有一些简单的公式我错过了?我似乎找不到。谢谢。
是的,有一个简单的公式:Math.abs(x1 - x2) + Math.abs(y1 - y2)
Math.abs
是绝对值函数-如果参数是正数,则返回该值;否则返回相应的正数(因此Math.abs(-5)
返回5)