Tetris
Version 6: Landen von Figuren
In dieser Übung geht es darum, gelandete Figuren ins Spielfeld zu integrieren.
Sequenzdiagramm
API-Dokumentation
Aufgaben
- Fügen Sie in der Klasse
Field
eine Menge von Blöcken hinzu und implementieren Sie die Methoden getBlocks
und addBlocks
, mit denen die Blöcke abgefragt und neue Blöcke hinzugefügt werden können.
- Passen Sie die Methode
detectCollision
so an, dass auch geprüft wird, ob die übergebenen Blöcke mit den Blöcken des Spielfelds kollidieren.
- Implementieren Sie in der Klasse
Game
die Methode figureLanded
, welche die Blöcke der aktuellen Figur zum Spielfeld hinzufügt, wenn diese nicht weiter nach unten bewegt werden kann, und eine neue Figur erzeugt.
- Wenn keine neue Figur mehr im Spielfeld Platz hat, rufen Sie die Methode
stop
auf, welche die aktuelle Figur löscht und den FigureController
beim GUI wieder abmeldet.
- Passen Sie die Methode
updateGUI
so an, dass auch die Blöcke des Spielfelds gezeichnet werden.
Lösung