TetrisClone in Java 11 & Swing
von Martin Prokoph
Erstellt für das Modul "Anwendungsorientierte Programmierung" im Studiengang Medieninformatik an der HTWK Leipzig.
Dieser Code wurde vollständig von mir und ohne die Verwendung von LLMs geschrieben.
An einigen Stellen wurde auf Wissen von StackOverflow und Baeldung zugegriffen – dies ist immer in den JavaDocs gekennzeichnet.
Die Commit-Historie ist auf meinem Gitea einsehbar.
Gradle ist als Build-Tool eingerichtet, um elegant Jar-Dateien zu bauen, dabei aber völlig optional.
Können Sie meinen Highscore schlagen?
Rechtliche Hinweise
»Tetris« ist eine eingetragene Marke von The Tetris Company, Inc.
Die Verwendung des Namens »Tetris« und des Spielkonzepts erfolgen lediglich zu Bildungszwecken.
Testbeispiele
Bewegung
Spiel starten
- Nach links verschieben mit
Aoder← - Nach rechts verschieben mit
Doder→ - Schneller nach unten mit
Soder↓ - Direkt nach unten mit
Leertaste - Rotieren mit
Woder↑
Bei jeder Bewegung sollte vor dem Umsetzen geprüft werden, ob die neue Position valide (Nicht überschneidend und nicht außerhalb des Spielraums) ist.
Logik
Sobald eine Reihe vervollständigt wird, sollte sie verschwinden.
Wenn die Teile über den oberen Rand ragen, soll das Spiel beendet werden.
Im Vorschaufenster sollte immer das nächste Tetrominio angezeigt werden.

Highscores
Sobald das Spiel beendet wird und der Score den aktuell höchsten Score überschreitet, sollte eine Aufforderung zum Eingeben des Namens erscheinen.
Nach dem Bestätigen erscheint der Name in der Highscore-Liste und wird über Spielsitzungen hinweg gespeichert.

Benutzeroberfläche
Die Darstellung der Benutzeroberfläche kann in den Einstellungen angepasst werden. Dabei lässt sich die Sprache und die GUI-Skalierung auswählen. Ansonsten sind auch noch Einstellungen zur Lautstärke und Schwierigkeit vorhanden.
Sounds und Musik
Sofern die Lautstärke angemessen eingestellt und ein Lautsprecher angeschlossen ist, sollten beim Absetzen der Tetrominos, sowie beim Vervollständigen einer/mehrerer Reihen Töne zu hören sein. Auch Musik sollte abgespielt werden, sobald das Spiel gestartet wird. Töne und Musik wurden im Zrythm-DAW erzeugt.
