# Dokumentation - Text Adventure ## Story In diesem simplen Text Adventure geht das darum, das der Spieler seit 6 Monaten in einem Anwendungsentwicklung-Unternehmen arbeitet, aber es soll nun ein neuer Azubi kommen und den Spieler ersetzen. Die Aufgabe des Spielers ist es zu versuchen dennoch seinen Platz in der Firma zu behalten. ## Sprache Ich habe für das Text Adventure mir Java ausgesucht, da es eine Sprache ist, in der ich mich gut auskenne. Zudem habe ich die Packages von [Jackson](https://github.com/FasterXML/jackson) und [Apache Commons Lang](https://commons.apache.org/proper/commons-lang/) benutzt. ## Besonderheiten Das Programm ist so geschrieben, das ich mit einer einfachen JSON-Datei auch einfach selbst neue Text Adventures kreieren kann. ```json { "start": { "text": [ "Startpunkt", "Hallo, %user%" ], "decisions": [ { "text": "Dies ist Option 1", "scene": "option1" }, { "text": "Dies ist Option 1", "scene": "option2" } ] }, "option1": { "text": [ "Du hast Option 1 ausgewählt" ], "decisions": [] }, "option2": { "text": [ "Du hast Option 2 ausgewählt" ], "decisions": [] } } ``` **Wichtig** ist dabei, dass es immer einen `start` Node im Top-Level gibt, das ist unsere Erste Szene unsere `start`-Scene, darin einen `text` Node als List und einen `decisions` Node als List. Die decisions List kann aber leer sein und somit endet dann auch das Text Adventure. Wenn man aber eine Entscheidung hinzufügen möchte, muss man in decisions mindestens ein JSON-Objekt hinzufügen mit einem `text` als String und eine `scene` als String. Der richtige Name der Nächsten Scene muss hier angeben werden und in der JSON-Datei definiert werden wie man es bereits bei `start` gemacht hat. Zudem kann man auch den Platzhalter `%user%` Verwenden, um später im Programm das ganze durch den von User Angegebene Username auszutauschen. Wenn man das Programm startet, bekommt man die möglich auszuwählen, welche Text Geschwindigkeit man haben möchte, da jeder Buchstabe einzeln nacheinander ausgegeben wird. Der Standard ist `Normal`. Danach wird man nach dem Username gefragt, es wird nur das Erste Wort genommen. Der Standard Username ist `Player`. Das Programm wird ausgeführt mit ```cmd java -jar TextAdventure.jar ``` ## Was fiel mir leicht / schwer? Mir fiel es leicht den Code zu schreiben und auch gegeben, falls Online nach Hilfestellungen zu suchen und diese anzuwenden. Mir fiel es nicht so leicht eine Story für meinen Text Adventure zu formulieren. ## Author Yannik Giebenhain