DGHK Ostercamp 2024 : Ink

Kurs „Drachen, Detektive, Dimensionsportale: Interaktive Textabenteuer programmieren“

1. Fertige Spiele

Das Hackerabenteuer

Gelingt es Dir, das endkrasse Hackertool NeuralOverride zu finden?
Spiel starten
Ink-Datei

Das Brennende Haus

Findest Du den Ausweg aus der Flammenhölle?
Spiel starten
Ink-Datei

2. Das Tortenbeispiel

Download aller Beispiele

Stufe 1

Ein + markiert eine Auswahlmöglichkeit.

Was willst Du essen?
 
+ Torte
Lecker Torte!
 
+ Kuchen
Lecker Kuchen!

Falls Du statt eines + ein * hinschreibst, dann kann diese Möglichkeit nur einmal gewählt werden.

Stufe 2

Ein -> markiert einen Sprung zu einem Knoten.
-> torte sorgt für einen Sprung zu den Knoten ===torte===

Was willst Du essen?
 
+ Torte
-> torte

+ Kuchen
-> kuchen

===torte===
Lecker Torte!
-> END
 
===kuchen===
Lecker Kuchen!
-> END

Stufe 3

Eine Endlosschleife: Nachdem wir eine Torte oder einen Kuchen gegessen haben, landen wir wieder am Anfang.
Das ist jetzt der Knoten auswahl.
Damit wir zu Beginn des Spiels überhaupt Wählen dürfen, beginnt das Spiel mit einem Sprung zu diesem Knoten.

-> auswahl
 
===auswahl===
Was willst Du essen?

+ Torte
-> torte
 
+ Kuchen
-> kuchen

===torte===
Lecker Torte!
-> auswahl
 
===kuchen===
Lecker Kuchen!
-> auswahl

Stufe 4

Mit VAR zaehler = 0 legen wir eine Variable an, die zu Beginn des Programms den Wert 0 hat.
~ zaehler += 1 erhöht den Wert des Zählers um 1. Das passiert immer dann, wenn ein Stück Torte oder Kuchen gegessen wurde.
zaehler: {zaehler} gibt den Wert des Zählers aus.
Beachte: Die Tilde ~ zu Beginn einer Zeile drückt aus, dass hier Code kommt.
Die geschweiften Klammern {} drücken aus, dass hier der Wert einer Variablen als Text angegeben werden soll.

VAR zaehler = 0
-> auswahl
 
===auswahl===
zaehler: {zaehler}
Was willst Du essen?

+ Torte
-> torte
 
+ Kuchen
-> kuchen
 
===torte===
Lecker Torte!
~ zaehler += 1
-> auswahl
 
===kuchen===
Lecker Kuchen!
~ zaehler += 1
-> auswahl

Stufe 5

Im folgenden nutzen wir die Bedingung zaehler > 2, um das Spiel zu beenden, wenn Du zu viel Kuchen oder Torte gegessen hast.

VAR zaehler = 0
-> auswahl

===auswahl===
{
- zaehler > 2:
Du hast zu viel gegessen!
->END
- else:
Was willst Du essen?

+ Torte
-> torte

+ Kuchen
-> kuchen
}

===torte===
Lecker Torte!
~ zaehler += 1
-> auswahl

===kuchen===
Lecker Kuchen!
~ zaehler += 1
-> auswahl

3. Gegenstände

Wir können boolesche Werte true oder false nutzen, um das Vorhandensein eines Gegenstandes zu speichern und abzufragen.

VAR schluessel_dabei = false
VAR schwert_dabei = false

Du bist in einem Raum, auf einem Tisch liegt ein Schlüssel und ein Schwert. 
Welchen Gegenstand steckst Du ein?

* Schlüssel
~ schluessel_dabei = true
-> weiter

* Schwert
~ schwert_dabei = true
-> weiter

===weiter===
Es erscheint ein Monster.
{
- schwert_dabei:
Du kämpfst mit dem Schwert gegen das Monster und besiegst es!
- else:
Du bist leider unbewaffnet, das Monster besiegt Dich!
}
-> DONE