Der leichte Einstieg Scratch programmieren
Faszination Coding Programmieren für Kinder
Für Fortgeschrittene Python Kurs

Python Text Adventure in 4 Schritten erstellen

Veröffentlicht: . Geändert: .
Python Text Adventure: Tutorial

Du möchtest ein Python Text Adventure schreiben? Dann schau Dir diesen Artikel an, denn wir haben eine superleichte Anleitung für die Erstellung eines textbasierten Abenteuerspiels für Dich verfasst! Unser Tutorial besteht nur aus 4 Schritten und ist daher auch für Anfänger geeignet.

Was ist ein Python Text Adventure?

Bei einem Python Text Adventure handelt es sich um ein textbasiertes Abenteuerspiel, das in der Coding-Sprache Python formuliert ist. Es ist zudem ein graphisch reduziertes Computerspiel, denn auf Farben, Spielfiguren, Bilder, Animationen usw. wird in der Regel komplett verzichtet. Trotzdem kann ein Text Adventure in Python sehr spannend sein und viel Spaß machen, da man mit einfachsten Mitteln fantasievolle Geschichten zum Leben erwecken kann!

Woran kann man ein Text Adventure in Python erkennen? Bei einem Textabenteuer werden dem Spieler Fragen mit vorgegebenen Antwortmöglichkeiten gestellt. Durch die korrekte Beantwortung der Fragen kann ein Spielfortschritt erzielt werden. Wenn der Spieler bei jeder Frage genau zwischen zwei möglichen Antworten wählen kann, dann handelt es sich um den sogenannten binären Ansatz. Wir werden Dir in diesem Artikel diese einfache Variante vorstellen. Hier ist bei jeder Frage eine richtige Antwort vorgesehen, sodass letztendlich nur ein Pfad zum Ziel führt! Es gibt jedoch auch Text Adventures mit mehr als zwei Antwortmöglichkeiten.

Bei vielen Text Adventures steht der Spielspaß im Vordergrund, allerdings werden sie auch zu Lernzwecken eingesetzt. Digitale Lernspiele erlangen generell immer mehr an Bedeutung und erreichen teilweise die Qualität professioneller Games mit reinem Unterhaltungswert, wie die Universität Rostock feststellt.

Diese Vorkenntnisse benötigst Du

Wenn Du ein Text Adventure in Python erstellen willst, solltest Du bestimmte Vorkenntnisse mitbringen. Da das Spiel auf Text basiert, ist es von Vorteil, wenn Du den input- und print-Befehl bereits in Deiner bevorzugten Entwicklungsumgebung verwendet hast. Zudem ist es wichtig, dass Du die Speicherung von Eingabedaten mithilfe von Variablen beherrschst. Um ein Text Adventure in Python zu erstellen, musst Du außerdem mit Python Datentypen umgehen können. Zeichenketten (strings) sind ebenfalls eine wichtige Voraussetzung, da wir diese für die Erstellung unseres Textabenteuers verwenden. Darüber hinaus sollten if Bedingungen nichts Neues für Dich sein, denn diese ermöglichen es uns, die Eingaben des Spielers abzufragen. Schließlich wäre es ideal, wenn Du die mit der if Abfrage zusammenhängenden elif- und else-Befehle ebenfalls bereits kennen würdest. Wenn Du bereits über diese Vorkenntnisse verfügst, dann wird Dir die Erstellung eines Text Adventures in Python sicher sehr leichtfallen!

In 4 Schritten ein Text Adventure in Python erstellen

Jetzt starten wir mit der Erstellung unseres Text Adventures in Python. Wenn Du ein eigenes Textabenteuer coden möchtest, solltest Du Dir vorab Gedanken darüber machen, worum es inhaltlich gehen soll. Besonders gut geeignet sind Geschichten, bei denen sich der Spieler durch die von Dir erschaffene, virtuelle Welt bewegen muss. Typischerweise gelangt der Spieler dabei an eine Wegkreuzung oder kann zwischen verschiedenen Fortbewegungsmitteln wählen. Natürlich kannst Du auch surreale Spielfiguren wie z.B. Superhelden oder Monster in Deine Story einbauen, denn Deiner Fantasie sind keine Grenzen gesetzt! Wenn Du im Vorfeld noch keine klare Idee für eine Geschichte hast, ist das kein Problem. Die kreativen Gedanken kommen oftmals erst, sobald Du mit dem Schreiben begonnen hast! Zudem kannst Du unser folgendes Textabenteuer als inspirierende Vorlage verwenden.

1. Fragen anzeigen und Eingaben speichern

Wir erstellen unser Python Text Adventure so, dass dem Spieler zu Beginn eine Frage angezeigt wird. Zudem wird er aufgefordert, eine Eingabe zu machen. Für beides benötigst Du nur einen einzigen Befehl: Mithilfe des „input“-Befehls kann dem Spieler eine Frage angezeigt werden, wobei gleichzeitig eine Tastatureingabe ermöglicht wird. Zudem können wir das Ergebnis der Eingabe direkt in Python Variablen speichern, sodass wir bei anschließenden Abfragen wieder darauf zurückgreifen können. Deine erste Zeile beim Coding sieht schließlich so aus:

Python Text Adventure: Antworten
Abb. 1: Für unser Python Text Adventure benötigen wir Antworten auf unsere Fragen

Unsere Fragen setzen wir in Anführungszeichen, da wir sie den input-Funktionen als Python Strings übergeben. Sie werden dem Spieler anschließend angezeigt, woraufhin dieser eine Antwort eingeben kann. Die Antwortmöglichkeiten kann man dabei wie in unserem Beispiel in Klammern hinter die Frage setzen, damit der Spieler genau weiß, welche Eingaben erlaubt sind. Die Antwort des Spielers wird anschließend in der Variable „Antwort“ gespeichert, sodass wir bei nachfolgenden Abfragen darauf zurückgreifen können. Optional kann man hinter den input- noch den lower- und strip-Befehl setzen, denn dadurch werden Abweichungen bezüglich Groß- und Kleinschreibung sowie fehlerhafter Leerzeichen aufgehoben. Unsere erste Coding-Zeile verdeutlicht, wie effizient die Python Syntax ist. Denn wir können viele Anweisungen mit minimalem Schreibaufwand angeben!

Beachte:

Python unterscheidet zwischen Groß- und Kleinschreibung. Wenn Du beispielsweise eine Antwort abfragst und für spätere if Bedingungen einrichten möchtest, dass die Zeichenkette nur Kleinbuchstaben enthält, dann wende die lower-Funktion an!

2. Bedingungen formulieren und Text ausgeben

Jetzt müssen wir die Antwort des Spielers weiterverarbeiten, denn in Python hängt der Verlauf unseres Text Adventures unmittelbar damit zusammen, wie sich der Spieler entscheidet. Hierfür benötigen wir die Python if Bedingung, denn wir müssen abfragen, ob die eingegebene Antwort des Spielers mit einer der vorgegebenen Antwortmöglichkeiten übereinstimmt. Zudem benötigen wir die elif Bedingung, da wir die Texteingabe jeweils auf zwei mögliche Antworten prüfen müssen. Bei unserer ersten Frage sind die zulässigen Antworten „ja“ und „nein“, wobei wir auf Abweichungen mit einem zusätzlichen else-Befehl reagieren wollen. Je nachdem, welche der Bedingungen erfüllt wird, wollen wir einen speziellen Text mit der print-Funktion ausgeben. Deshalb sieht Dein Code jetzt so aus:

Python Text Adventure: Abfragen definieren
Abb. 2: Die Bedingungen für das Text Adventure in Python definieren

In der folgenden Tabelle zeigen wir Dir nochmals, welche Eingaben in diesem Fall erlaubt sind und welcher Text anschließend angezeigt wird:

Tabelle 1: Beispiele für Benutzereingaben und anschließende Textausgaben

EingabeErlaubt?Textausgabe
jaJaSehr schön!
JaJaSehr schön!
J aNeinUngültige Antwort!
neinJaSchade, vielleicht beim nächsten Mal!
NEINJaSchade, vielleicht beim nächsten Mal!
vielleichtNeinUngültige Antwort!
späterNeinUngültige Antwort!
weiß nichtNeinUngültige Antwort!

3. Bedingungen verschachteln

Zuletzt müssen wir mehrere Bedingungen ineinander verschachteln, denn der Verlauf unseres Textabenteuers hängt immer von der Antwort auf die vorherige Frage ab. Dein Code sieht nun so aus:

Abfragen verschachteln
Abb. 3: Abfragen ineinander verschachteln

Du erkennst die Verschachtelung sofort an den Einrückungen der Anweisungen. Die Einrückungen tragen dazu bei, dass Python für Einsteiger leicht zu verstehen ist. Beachte stets, dass diese Einrückungen nicht nur optische Hilfsmittel, sondern Teil der Syntax sind. Du musst die zweite if Abfrage daher mit einer Einrückung versehen, denn sie soll nur dann ausgeführt werden, wenn die Antwort auf unsere erste Frage „ja“ lautet.

Nach diesem Schema kannst Du Dein Text Adventure in Python nun immer weiter verschachteln und somit Deine Story erweitern. Der nächste Schritt besteht deshalb darin, innerhalb der zweiten if Abfrage eine weitere Frage einzufügen und die zugehörige Antwort anschließend mit einer dritten if Abfrage zu überprüfen. Dieses Schema geht immer so weiter, bis der Spieler am Ende des Textabenteuers angelangt ist und ihm die letzte Frage gestellt wird. Falls er sie richtig beantwortet, gewinnt er das Spiel!

4. Fehler beim Coden vermeiden

Wie Du siehst, wird ein Text Adventure in Python mit jeder weiteren Frage komplexer, weshalb Du darauf achten musst, den Überblick nicht zu verlieren. Aus diesem Grund ist es auf jeden Fall ratsam, statt der Python IDLE, die beim Download automatisch mitgeliefert wird, eine komfortablere Entwicklungsumgebung wie z.B. PyCharm zu verwenden. In dieser Coding-Sprache wird jeder Syntaxfehler sofort rot markiert. Wenn Du an weiteren spannenden Projekten interessiert bist, dann schau mal in unserem Computerkurs vorbei!

Im Folgenden siehst Du nun unser komplettes Text Adventure. Aufbau und Inhalt des Projekts können Dir als Vorlage für Dein eigenes Abenteuerspiel dienen:

Das fertiggestellte Text Adventure in Python
Abb. 4: Unser komplettes Text Adventure in Python

Neben dem Gewinnen-Pfad gibt es einen weiteren Spielpfad, bei dem der Spieler verliert. Schau Dir an, wie der Code in diesem Fall aussieht:

Das Spiel verlieren
Abb. 5: Bei diesem Lösungspfad verliert der Spieler

Mit unserem Tutorial kannst Du in nur 4 Schritten ein spannendes Text Adventure in Python erstellen. Wir haben Dir außerdem eine ausführliche inhaltliche Vorlage gegeben, sodass es Dir nun leichtfallen sollte, Deine eigene Story zu entwickeln! Dabei wünschen wir Dir ganz viel Freude!

Literatur

Kaesler, Clemens (2018): Das große Python Workbook – Programmieren lernen leicht gemacht – mit vielen Übungen! Norderstedt.

Richardson, Craig (2015): Adventures in Python, E-Book.

FAQs – Python Text Adventure

Könnte man für unser Text Adventure in Python auch eine bestimmte Anzahl an Versuchen festlegen?

Ja, wenn man den kompletten Code mit einer Python For Schleife umschließen würde, könnte man eine bestimmte Anzahl an Versuchen festlegen, in denen das Ziel des Textabenteuers zu erreichen ist (vgl. Kaesler, 2018).

Kann man sich für ein Text Adventure in Python beliebig viele Fragen ausdenken?

Ja, das ist prinzipiell möglich, denn es gibt keine Grenze für die Verschachtelung von if Abfragen in Python.

Wie groß ist die Wahrscheinlichkeit, bei einem Text Adventure in Python zufällig zum Ziel des Spiels zu gelangen?

Ziemlich gering, denn die Wahrscheinlichkeit halbiert sich mit jeder weiteren Frage. In unserem Beispiel mit 6 Spielfragen beträgt die Wahrscheinlichkeit nur rund 2%.

Könnte man bei einem Text Adventure in Python auch verschiedene Gewinnpfade coden?

Ja, auch das ist prinzipiell möglich, indem man innerhalb von elif Bedingungen weitere Fragen stellt, die es dem Spieler ermöglichen, auf einem alternativen Weg zum Ziel zu gelangen.

Gibt es die Möglichkeit, unser Text Adventure in Python farbenfroher zu gestalten?

Ja, man könnte beispielweise mit dem „tkinter“-Paket Schriften in verschiedenen Farben darstellen und außerdem passende Bilder zur Story einfügen (vgl. Richardson, 2015).

Anderen hat auch das noch gefallen