74 lines
2.6 KiB
Markdown
74 lines
2.6 KiB
Markdown
# 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 <optional path/to/dialog.json>
|
|
```
|
|
|
|
## 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 |