java - 如何在网格中导航寻找最接近的位置?

标签 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。

是否有任何算法可以进行此类搜索,我可以研究一下?或者有人有什么解决办法吗?我觉得计算对角线之类的会比较困难,我该怎么办?任何帮助表示赞赏。

最佳答案

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

关于java - 如何在网格中导航寻找最接近的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7732808/

相关文章:

java - 如何从 JBCD 结果集中获取整数?

java - 在 Java Web 应用程序中部署管理区域的最佳实践

grid - 如何在 Xamarin.Forms Xaml 中设置行/列定义?

java - 如果没有用Gson初始化如何不写float(GsonBuilder())

php - 在 Yii2 搜索中比较匹配的数组索引值

mysql - 如何使用选择查询过滤具有非重音字符的列

Javascript 通过对象搜索

css - 流体网格布局 jQuery

javascript - 在 Meteor 中使用#each 使用动态数据填充 Bootstrap 网格

java - 使用 CMD 作为进程