Tôi thực hiện một trò chơi bắn em bé lên .. Nó hoạt động bình thường nhưng tôi cũng muốn thực hiện nếu đám cháy giao nhau chúng sẽ biến mất. Tôi có hai danh sách cho đạn Player và cho đạn máy tính ... Nhưng nếu tôi có nhiều viên đạn từ máy tính hoặc ngược .Here vòng lặp của tôiJava 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;
}
}
}
Đây là trò chơi của tôi mà Woking các thuật toán ... http://rapidshare.com/files/364597095/ShooterGame.2.6.0.jar
Nếu 'intersects' hoạt động như mong đợi, bạn không cần hai thử nghiệm' if' riêng biệt, phải không? –
Nếu bạn muốn xóa bất kỳ thứ gì bạn đang lặp lại, bạn nên sử dụng Iterator và sử dụng phương pháp xóa của nó. –
@Shervin: tại sao? những gì thuận? – Roman