我正在开发一款游戏,我希望我的敌人在 1-5 秒之间产生延迟。我那部分的代码如下所示:
@Override
public void run() {
try {
while (true) {
Random r = new Random();
int cooldownTime = r.nextInt((5000 - 1000) + 1) + 1000;
long lastSpawn = 0;
long time = System.currentTimeMillis();
if (time > lastSpawn + cooldownTime) {
System.out.println(cooldownTime);
addEnemies();
lastSpawn = time;
}
如果我对 nextInt 的理解正确,这应该每次都以 1000-5000 毫秒的间隔产生敌人,但我的结果真的很奇怪,我不太明白为什么。这是一个示例,说明如果我打印cooldownTime.
2523
1190
1095
1061
1168
1119
1052
1159
1071
1076
1000
1394
1249
1070
依此类推...似乎第一个敌人真的是随机生成的,而其他敌人总是在 1000 左右。每次都会发生这种情况。有谁知道为什么会这样?我很迷路。
呼啦一阵风
慕森卡
MMTTMM
POPMUISE
泛舟湖上清波郎朗
相关分类