我做了一個小射擊,game..It工作正常,但我想還實現了,如果火災相交,他們就會消失。我有兩個列表播放子彈和計算機子彈......但是,如果我從電腦更多的子彈或逆轉。在這裏我的循環的Java IndexOutOfBoundsException異常
for (int i = 0; i < cb.size(); i++) {
for (int j = 0; j < b.size(); j++) {
if (b.get(j).rect.intersects(cb.get(i).rect)) {
cb.remove(i);
b.remove(j);
continue;
}
if (cb.get(i).rect.intersects(b.get(j).rect)) {
b.remove(j);
cb.remove(i);
continue;
}
}
}
這是我的遊戲,沃金algoritms ... http://rapidshare.com/files/364597095/ShooterGame.2.6.0.jar
如果'intersects'工作正如人們所期望,你不應該需要兩個獨立的'if'測試,不是嗎? – 2010-03-17 10:02:13
如果你想刪除任何你正在迭代的東西,你應該使用Iterator並使用它的remove方法。 – 2010-03-17 10:05:07
@Shervin:爲什麼?有什麼優點? – Roman 2010-03-17 10:09:41