An dieser Stelle möchte ich den "Vergangenheits-Marcus" zu Wort kommen lassen. Dieser hat es zu Beginn seines Studiums geschafft, sich von der verpflichtenden Übung "Programmiersprachen 1" befreien zu lassen, indem er an einem Wochenende einen Tetris Klon in der ihm noch unbekannten Sprache Pascal implementiert. Zur Beschreibung dieses Projekts verwende ich einen Blogeintrag, welcher im Jahr 2009 unmittelbar nach Abnahme meiner Lösung verfasst wurde.
Strike! Ich hab es geschafft mich von der Programmiersprachen 1 Übung befreien zu lassen.
Jeder der sich für fit genug hielt, konnte eine sogenannte Befreiungsaufgabe schreiben: Tetris =) Und zwar in FreePascal. Also mal ganz was Neues, auch für mich. Mein Zeitplan sah dann in etwa so aus:
- Freitag: FreePascal und sonstige Tools einrichten, bisschen mit FreePascal vertraut machen
- Samstag: Ein Framework für Sachen wie Gamestates und Timing auf die Beine stellen
- Sonntag: Tetris!
Klappte ganz gut, wenn man von diversen IDE Bugs absieht. FreePascal stürzt bei mir mittlerweile kommentarlos ab, sobald ich auch nur versuche irgendeine Datei zu öffnen … Aber ich hab dann wunderbar mit Lazarus weiterarbeiten können.
Allgemein war die Aufgabe schwieriger, als einem zunächst schien. So Sachen wie Blockrotation haben mich dann doch noch an den Rand des Wahnsinns getrieben, bis ich es einfach irgendwann aufgegeben habe, dafür einen allgemeingültigen Algorithmus zu suchen …
Die Anmeldezahlen zur Abnahme waren dann auch dementsprechend. Irgendwann Samstag waren es wohl noch um die 40, Sonntag Abend dann noch ca. 20, Montag (also heute) Morgen waren es noch 9 und bei der Abnahme waren wir dann zu viert …
Und so schaut meine Lösung unter Windows aus:
Wer mag kann sich das Ganze auch runterladen, aber wirklich gut spielen kann man das nicht. Zumindestens nicht, wenn man unter “spielen” auch “Spaß haben” versteht.
Wer Interesse am Quellcode hat, der ist unter folgender URL öffentlich einsehbar: