15. Apr 2019
Lesedauer 3 Min.
dojoAufgabe: Ein klassisches Spiel
Kennen Sie noch den Klassiker Worm? Mit den Cursortasten steuert man einen Wurm. Wenn er Nahrung einsammeln kann, wird er länger. Wie programmiert man so etwas?
Das Spiel „Worm“ erfordert keinen leistungsstarken Rechner. Nicht mal ein grafisches Display ist erforderlich, es genügt eine simple Textkonsole. Mithilfe der Richtungstasten steuert man einen Wurm über den Bildschirm. Der Wurm bewegt sich schrittweise weiter und wird auf der Konsole durch eine Folge von Zeichen dargestellt, zum Beispiel aus einer Folge von „X“.
Spielablauf
Zu Beginn erfolgt etwa alle 250 Millisekunden ein Schritt des Wurms. Das lässt genügend Reaktionszeit. Bewegt sich der Wurm an den Rand des Bildschirms, wird er je nach Spielregeln entweder am gegenüberliegenden Rand wieder eingesetzt, oder das Spiel ist zu Ende. Auf keinen Fall darf der Wurm in sich selbst gesteuert werden, dann ist das Spiel beendet.Auf dem Spielfeld liegt an zufälligen Positionen „Nahrung“. Krabbelt der Wurm über diesen Block, nimmt er die Nahrung auf und wächst. Er wird um ein Zeichen länger. Das erhöht einerseits den Punktestand, erhöht aber gleichzeitig auch den Schwierigkeitsgrad. Denn je länger der Wurm wird, desto schwieriger wird es, nicht in ihn hineinzusteuern. Der Wurm ist zu Beginn des Spiels ein Zeichen groß.Am unteren Rand des Spielfelds wird der Punktestand angezeigt. Mit jedem Schritt, den der Wurm krabbelt, wird der Zähler um die Länge des Wurms erhöht. Anfangs also in Einerschritten. Je länger der Wurm durch Fressen von Nahrung wird, desto schneller steigen die Punkte an. Allerdings wird es auch schwieriger, den Wurm so zu steuern, dass er nicht über sich selbst läuft und dadurch stirbt.Variation 1
Die Position der Nahrung kann variiert werden. Zu Beginn liegt die Nahrung immer in der Mitte des Spielfelds. Später im Spielverlauf werden dann zufällige Positionen gewählt. Es ist darauf zu achten, dass die Nahrung nicht an einer Position „innerhalb des „Wurms“ auftaucht. Aber dies ist bereits ein fortgeschrittenes Feature des Spiels. Zunächst genügt die fixe Position in der Mitte.Variation 2
Eine weitere Variation des Spiels ist über die Schrittgeschwindigkeit möglich. Zu Beginn wird alle 250 Millisekunden ein Update des Wurms ausgeführt. Somit krabbelt der Wurm alle 250 Millisekunden eine Zeichenposition auf dem Bildschirm weiter. Je länger das Spiel bereits läuft, desto schneller kann es werden. Probieren Sie, die Geschwindigkeit schrittweise zu erhöhen, abhängig von der Dauer des Spiels und der Länge des Wurms.Übungsziel
Der Fokus der Übung liegt auf den Werten Wandelbarkeit und Korrektheit. Für die Wandelbarkeit ist es hilfreich, vor der Implementation einen Entwurf zu erstellen. So kann sichergestellt werden, dass wesentliche Prinzipien wie das Single Responsibility Principle eingehalten werden. Für die Korrektheit sorgen automatisierte Tests. Diese sorgen gleichzeitig für die Wandelbarkeit. Denn nach einer Änderung kann durch die Ausführung der Tests geprüft werden, ob die Anforderungen noch korrekt umgesetzt sind.Ich wünsche Ihnen viel Spaß mit dem Wurm!