對不起,如果這是一個非常封閉的問題,其他人將無法使用,但是我只是被這個錯誤所困擾,我幾個星期都無法解決它!爲什麼我的Loop機制不起作用?
我正在研究基於波的生存遊戲,目前正在研究一種產卵機制。 我寫的代碼完美適用於一波,但不知何故不會重新啓動進一步的波。 我已經寫了下面的代碼:
public void run() {
while (ingame) {
if (enemyList.isEmpty()) {
stopSpawn = false;
try {
Thread.sleep(500);
spawnNewEnemy();
} catch (InterruptedException ex) {
System.out.println("Interrupted");
}
} else {
if (!enemyList.isEmpty() && !stopSpawn) {
// getEnemyAmount returns the amount of enemies that should be spawned this wave
for (int enemiesSpawned = 0; enemiesSpawned < getEnemyAmount(); enemiesSpawned++) {
try {
Thread.sleep(500);
} catch (InterruptedException ex) {
}
System.out.println(currentWave);
spawnNewEnemy();
}
stopSpawn = true;
}
}
}
}
這裏是spawnNewEnemy方法
public void spawnNewEnemy() {
Random spawn = new Random();
int spawnX = spawn.nextInt(500);
int spawnXTest = b.bX - spawnX;
if (spawnXTest < 20) {
spawnX = spawnX + 20;
} else {
}
int spawnY = spawn.nextInt(500);
int spawnYTest = b.bX - spawnY;
if (spawnYTest < 20) {
spawnY = spawnY + 20;
} else {
}
spawnY = spawnY + 20;
spawnX = spawnX + 20;
enemyList.add(new Enemy(spawnX, spawnY));
}
有什麼不適合呢?獲得任何例外? – Quetzalcoatl 2013-05-03 08:15:04
你能解釋一下這個bug是什麼嗎?這不是很明顯你的問題是什麼。 – Dworza 2013-05-03 08:19:49
你實際上在做:'if(enemyList.isEmtpy()){} else {if(!enemyList.isEmpty()){} – Joetjah 2013-05-03 08:22:11