所以我有这段代码
if (x >= gameView.getWidth()) { //if gone of the right side of screen
x = x - gameView.getWidth(); //Reset x
y = random.nextInt(gameView.getHeight());
xSpeed =
ySpeed =
}
但我需要同时让xSpeed
和ySpeed
在两个值之间进行选择,“10”或“-10”,只有这两个数字,两者之间没有任何内容。
我看过的每个地方都说使用random.nextInt
,但也可以从-10到10之间的数字中选择......
答案 0 :(得分:6)
您可以尝试使用
xSpeed = (random.nextInt() % 2 == 0) ? 10 : -10;
ySpeed = (random.nextInt() % 2 == 0) ? 10 : -10;
祝你好运
答案 1 :(得分:3)
这个怎么样:
if(random.nextBoolean()){
xSpeed = 10;
}
else xSpeed = -10;
答案 2 :(得分:2)
这个怎么样? Math.random()
返回0.0(包含)和1.0(不包括)之间的值。
public class RandomTest {
public static void main(String[] args) {
int xSpeed = 0;
int ySpeed = 0;
if (Math.random() >= 0.5) {
xSpeed = -10;
} else {
xSpeed = 10;
}
if (Math.random() >= 0.5) {
ySpeed = -10;
} else {
ySpeed = 10;
}
}
}
答案 3 :(得分:2)
假设你的random.nextInt(gameView.getHeight());
在偶数和奇数之间均匀分布,那么你可以这样写:
y = random.nextInt(gameView.getHeight()) % 2 == 0 ? 10 : -10;