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

标签 java math coordinates distance euclidean-distance

我正在用 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/

相关文章:

java - 从 jar 读取资源未按预期工作

java - 如何使警报对话框匹配主题颜色?

javascript - Json数据计算并转html

java - 获得10次方的最快方法

java - 使用 Path 2d 检测坐标

python - matplotlib 坐标格式

java - 检查字符串中是否存在模式

java - 无法使用 Netbeans 7.1 Beta 版本编译和创建 jar 文件

android - 用 "androidPlot"库绘制数学函数

php - 谷歌地图 - 平移和缩放区域 - 放大或平移时标记不出现