【发布时间】:2015-08-03 09:58:48
【问题描述】:
目前我有这个代码。
public static Location getRandomLocation(int min, int max, World w) {
int x = CommonUtils.randomInt(min, max);
int y = 255;
int z = CommonUtils.randomInt(min, max);
while (w.getBlockAt(x, y, z).getType() == Material.AIR) {
y--;
}
return w.getBlockAt(x, y + 1, z).getLocation();
}
我想为 x 和 z 坐标生成随机值,也可以是负数。我遇到的问题是,即使实际数字不是,我也需要数字的绝对值仍然大于 min 值。
更简单地说,现在它只能在min 和max 之间生成随机位置。我如何还包括介于-min 和-max 之间的数字?
【问题讨论】:
-
您只希望这些位置跨一个街区吗?
-
@kmecpp 可以说我想要一个随机的 x,z 可以高于最大值,低于最小值,所以它可以是 1000,1000 但不是 999,999 可以是 -1000,-1000 但不是-999.-999
-
对您的图片有点困惑...您想要一个位置还是多个位置?喜欢在戒指中?
-
1 个位置可以是 1000 或更多,1000 或更多 | -1000 或更多,-1000 或更多但不能为 999 或更少,999 或更少 | -999 或更低,-999 或更低
-
你能举个例子 min max 并提供一个可接受的值列表,然后提供一个不可接受的值列表,这样我就知道你想要什么了吗?
标签: java random location bukkit radius