检查是否在特定区域

时间:2014-04-14 19:19:45

标签: java minecraft

**由于混淆,重新编辑了问题以使其更有意义

想象一下,有一个带尺寸的坐标平面:

X:0-1000 Z:0-1000

我们将飞机划分为十个区域,如此:

区域1:

X:0-99 Z:0-99

区域2:

X:100-199 Z:100-199

依旧......

然后我们生成三个随机数,例如:

X:56 Z:38

检查坐标所在区域的最有效方法是什么?

似乎使用阻塞方法,例如:

if(X < 100 && Z < 100){
     regionA();
} else if(X < 200 && Z < 200){
     regionB();
}
//and so on..

会非常低效。

还有其他方法可以检查坐标所在的区域吗?

另一个例子可能是:

根据纬度和经度,你怎么能找出坐标在哪个国家(或者它在海洋中等)?

1 个答案:

答案 0 :(得分:0)

好吧,因为每个区域可以说是100块宽,我们可以在坐标中使用数百个值。我假设您将飞机划分为100x100区域。

int x; //Your coordinates here
int z;

double regionx = math.ceil(x/100);
double regionz = math.ceil(z/100);

你可以使用     如果需要返回int值,请regionx.intValue()regionz.intValue()