Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

Da ist der Wurm drin

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 Zeichenposi­tion 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!

Neueste Beiträge

Hierarchische Testdata-Builder - Testdata-Builder, Teil 1
Lesbare Tests bei tiefen Objekthierarchien mit dem Collection-Builder-Pattern.
4 Minuten
DDC hakt nach: Hör auf, Dich über Verbindungsstrings zu ärgern
Die App läuft lokal wie geschmiert, aber sobald Backend-Services ins Spiel kommen, stottert die Maschine. Connection Strings, die nicht wollen. Emulator-Konfigurationen, die nerven. Johan Smarius erklärt im Interview und auf der .NET Developer Conference 2025, wie es anders - und viel besser geht.
4 Minuten
10. Nov 2025
Chunks mit Köpfchen - KI für KMU, Teil 1
Wie trenne ich Textinformationen in sinnvolle Segmente?
7 Minuten
Miscellaneous

Das könnte Dich auch interessieren

Wexflow: .NET Open Source Workflow-Engine - CodeProject
Wexflow ist eine quelloffene und plattformübergreifende Workflow-Engine und Automatisierungsplattform, die darauf abzielt, wiederkehrende Aufgaben zu automatisieren.
2 Minuten
C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
Das Model Context Protocol (MCP) mit C# verwenden - Kommunikation mit der KI
Mit dem neuen MCP C# SDK können Entwickler die Kommunikation zwischen KI-Modellen und Anwendungen effizient gestalten. Ein Blogpost bietet eine Schritt-für-Schritt-Anleitung zur Implementierung eines MCP-Servers.
3 Minuten
10. Apr 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige