您好我正在制作一个PirateShip演员,可以到最近的宝箱。使用胸部的ArrayList我如何在网格上找到离我的海盗船最近的胸部。提前谢谢。
答案 0 :(得分:1)
如果您有PirateShip的位置和胸部的ArrayList,那么我首先会建议将胸部列表转换为胸部位置列表。然后:
Location loc = getLocation();
int lowest = Integer.MAX_VALUE;
Location closest = null;
for(Location l : locs)
{
double dis = Math.sqrt(Math.pow(l.getRow() - loc.getRow(), 2) + Math.pow(l.getCol() - loc.getCol(), 2)); // Distance Formula
if(dis < lowest)
{
lowest = dis;
closest = l;
}
}
这将设置最接近列表中最近的位置,您可以使用/ *在此处插入网格名称来获取该位置的胸部* /。得到(最近)