Несколько вещей могут пойти не так здесь.Во-первых, ваш цикл for проходит через Bullet ArrayList, однако вы используете этот индекс и для изменения Enemy ArrayList.Так что, если bul.size ()> enm.size () «т.е. массив маркеров больше массива врага», это будет причиной исключения IndexOutOfBoundsException.
Кроме того, если вы пытаетесь проверить наличиепересечение каждой пули с каждым врагом, для которого вы хотите использовать вложенные циклы.В настоящее время вы просто проверяете, пересекаются ли каждая пуля и враг с одним и тем же индексом.
Вы можете решить эту проблему следующим образом:
for(int i = 0; i < bul.size(); i++){
for(int j = 0; j < enm.size(); j++){
//if bullet is intersecting enemy
//do something
}
}