Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在网格中导航以寻找近距离?_Java_Search_Grid - Fatal编程技术网

Java 如何在网格中导航以寻找近距离?

Java 如何在网格中导航以寻找近距离?,java,search,grid,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 clo

我有一个声明如下的网格:

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;其中as
10、21将返回false


有什么算法可以进行这种搜索吗?或者有人有什么解决办法吗?我觉得计算对角线之类的东西会很难,我该怎么做呢?感谢您的帮助

是实现的好选择。这里有一个名为的示例,在本文中使用。

是实现的好选择。这里有一个名为的示例,在本示例中使用。

假设a。假设a。您的算法取决于您如何定义距离。如果它是一条直线,那么毕达哥拉斯定理就是这样做的。如果“距离”仅由晶格直线段组成,那么毕达哥拉斯将给出错误的答案。考虑点(0,0)和(3,3)。毕达哥拉斯的距离是sqrt(18),小于5,但在晶格上距离是6。你的算法取决于你如何定义距离。如果它是一条直线,那么毕达哥拉斯定理就是这样做的。如果“距离”仅由晶格直线段组成,那么毕达哥拉斯将给出错误的答案。考虑点(0,0)和(3,3)。毕达哥拉斯的距离是sqrt(18),小于5,但在晶格上距离是6。