Keine Lust auf englischen Text gerade, hier die Übersicht:
Es gibt jetzt eine eigene Datenstruktur, die im Grunde nichts weiter
ist, als eine recht stumpfe, verkettete Liste. Besonderheit: Sie macht
sich weniger Gedanken über Modifikationen während des Iterierens und
wächst momentan etwas stetig.
Es gibt eine neue Methode die() im LivingEntity, die per default
Explosion auslöst und das Entity danach wegräumt. Wenn Items gedroppt
werden sollen oder sonstwas passieren soll, bitte Overriden.
Die Kollisionserkennung wurde in den CollisionHelper ausgelagert,
zunächst aber noch mit Rectangles weitergeführt. Wer mutig genug ist,
darf sich gerne austoben und eine Kollisionserkennung mit vielen If und
ints bauen. :-)
LivingEntity implementiert zunächst Hittable.
Der Player kümmert sich selbst um Kollisionen mit Items aka aufsammeln.
Das Collidable-Interface enthält alles notwendige für
Kollisionserkennung auf int-Basis.
Der Screen gibt nur noch Iteratoren für die Entity-Liste aus.
Ich glaube, das wars.
The Gui Package shall contain all elements that we create and use in our
game that are actual gui elements like menu buttons, health bars,
highscore stuff and more.
Maybe this is just an ugly hack until we move the setImage() part into
the constructor call to make sure every Entity _HAS_ an image before
updating and painting occurs.
Das Keyboard bietet nun allen, die den KeyboardListener implementieren,
den Service, sich an ihm zu registrieren.
Ist dies erfolgt, so reicht es die Events an die registrierten Listener
weiter.
Auf diese Weise wurde das Dauerfeuer und Spontanfeuer implementiert.