Ich weiß nicht ob das wirklich so toll ist wie ich das denke, aber:
Ist das ein toller langer Befehl?
Was hier passiert ist dabei ziemlich einfach, für unseren vertikal Shooter haben wir die Gegner die in den einzelnen Level auftauchen in einen Array eines Arrays gepackt, der "obere" Array steht für das Level der "untere" für die Waves in denen die Gegner auftauchen.
Sprich ,die äußere Schleife kontrolliert die Nummer der Wave und die innere die Anzahl der Gegner der Wave.
Innen wird also nur der Gegner gezeichnet und für mich ist das schon ein ziemlich großer Schritt x_X
...
Du könntest den Code grandios vereinfachen, wenn du enemy.get(i).get(j) in einer neuen Variable speicherst. Hat nebenbei noch den Vorteil, dass die Methoden nur einmal ausgeführt werden und das Programm dadurch wahrscheinlich schneller wird. Und lesbarer...