如何导航网格寻找近距离?

时间:2011-10-11 21:33:37

标签: java search grid

我有一个声明为:

的网格
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。

是否有任何算法可以进行此类搜索?或者有没有人有任何解决方案?我觉得计算对角线等等会比较困难,我该怎么做呢?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

Math.hypot()是实施Pythagorean theorem的不错选择。这里有一个名为norm()的示例,用于此KineticModel