47 lines
2.5 KiB
Markdown
47 lines
2.5 KiB
Markdown
# 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](https://git.midnightdust.eu/Motschen/TetrisClone/commits/branch/main) 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
|
||
1. Nach links verschieben mit `A` oder `←`
|
||
2. Nach rechts verschieben mit `D` oder `→`
|
||
3. Schneller nach unten mit `S` oder `↓`
|
||
4. Direkt nach unten mit `Leertaste`
|
||
5. Rotieren mit `W` oder `↑`
|
||
|
||
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. |