我有一个像这样声明的网格:
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()
是实现勾股定理的一个很好的选择。这里有一个名为norm()
的示例,它在KineticModel
中使用。