Update of exercises

master
Thomas Smits 2024-01-20 16:50:02 +01:00
parent ed572c2d85
commit 6ccc245ab9
2 changed files with 5 additions and 1 deletions

View File

@ -10,6 +10,8 @@ Eine lokale Klasse verwenden, um einen Event-Handler zu implementieren. Den Zugr
Gehen Sie in das Paket [pr2.lambda.local](../sources/src/main/java/pr2/lambda/local/).
Für diese Aufgabe müssen Sie das Gameframework einbinden. Sie finden es im `lib`-Ordner: [game_framework.jar](../sources/lib/game_framework.jar)
In dieser Aufgabe sollen Sie den Event-Handler für das Zerstören des Aliens als lokale Klasse im Konstruktor von `GameBoard` realisieren. D.h. nicht mehr das Alien selbst reagiert auf das Klicken, sondern das `GameBoard` bekommt alle Klicks und überprüft, ob sich die Maus über dem Alien befindet.
Fügen Sie dem Konstruktor von `GameBoard` eine lokale Klasse `AlienExploder` hinzu, die von `MouseAdapter` erbt. Überschreiben Sie in dieser Klasse die Methode `mousePressed` aus `MouseAdapter`.

View File

@ -10,7 +10,9 @@ Eine nichtstatische Elementklasse verwenden.
Gehen Sie in das Paket [pr2.lambda.nonstatic](../sources/src/main/java/pr2/lambda/nonstatic/).
Wieder geht es um das einfache Spiel aus der ersten Aufgabe. Diesmal sollen Sie allerdings die Klasse `Alien` zu einer nichtstatischen Elementklasse von `GameBoard` machen. Achten Sie insbesondere darauf, dass sie nur noch die implizite Referenz `GameBoard.this` verwenden, um das Board innerhalb von `Alien` zu verwenden. Außerdem soll sich `Alien` im Konstruktor selbst als `MouseListener` registrieren, d.h. die entsprechende Zeile `addMouseListener(alien);` soll aus `GameBoard` verschwinden und in `Alien` verwendet werden.
Für diese Aufgabe müssen Sie das Gameframework einbinden. Sie finden es im `lib`-Ordner: [game_framework.jar](../sources/lib/game_framework.jar)
Wieder geht es um das einfache Spiel. Diesmal sollen Sie allerdings die Klasse `Alien` zu einer nichtstatischen Elementklasse von `GameBoard` machen. Achten Sie insbesondere darauf, dass sie nur noch die implizite Referenz `GameBoard.this` verwenden, um das Board innerhalb von `Alien` zu verwenden. Außerdem soll sich `Alien` im Konstruktor selbst als `MouseListener` registrieren, d.h. die entsprechende Zeile `addMouseListener(alien);` soll aus `GameBoard` verschwinden und in `Alien` verwendet werden.
Lassen Sie das Spiel wieder laufen und überprüfen Sie, ob es korrekt funktioniert.