我有一个声明如下的网格:
PlayerStatus enum
{
OCCUPIED,
VACANT
}
PlayerStatus[][] grid_ = new PlayerStatus[200][200];
网格设置为等于除玩家所在位置之外的所有空位。
我想要一种方法来告诉我一个玩家是否位于另一个玩家的某个网格附近,例如:
boolean inRange(int x, int y, int range)
{
//This method finds if a player is close to another one
}
因此,如果我传入 inRange(10, 15, 5)
并且在 10, 19
处有一个玩家,我希望该方法返回 true;其中 10, 21
将返回 false。
是否有任何算法可以进行此类搜索,我可以研究一下?或者有人有什么解决办法吗?我觉得计算对角线之类的会比较困难,我该怎么办?任何帮助表示赞赏。
最佳答案
Math.hypot()
是实现 Pythagorean theorem 的不错选择。这里有一个名为 norm()
的示例,在此 KineticModel
中使用.
关于java - 如何在网格中导航寻找最接近的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7732808/