Skript 2.1
Angenommen, Du möchtest, dass es nach der Hauptmahlzeit noch ein Nachtisch angeboten werden soll. Ein erster Versuch könnte so aussehen:
Was willst Du essen?
+ Pizza
Du vertilgst ein Stück Pizza.
+ Gemüseauflauf
Du lässt Dir eine Portion Gemüseauflauf schmecken.
Was möchtest Du zum Nachtisch?
+ Eis
Du genießt eine Kugel Eis.
+ Obstsalat
Du löffelst eine Schale Obstsalat.
+ Pizza
Du vertilgst ein Stück Pizza.
+ Gemüseauflauf
Du lässt Dir eine Portion Gemüseauflauf schmecken.
Was möchtest Du zum Nachtisch?
+ Eis
Du genießt eine Kugel Eis.
+ Obstsalat
Du löffelst eine Schale Obstsalat.
Das
funktioniert aber nicht! Anstatt, dass erst nach der Hauptmahlzeit
die Nachtisch-Möglichkeiten vorgeschlagen werden, sehen wir alle Optionen
von Hauptgericht und Nachtisch zugleich und von Anfang an:
Der Grund ist einfach: Woher soll der Computer wissen, dass die Zeile "Was möchtest Du zum Nachtisch?" nicht noch zur Entscheidung "Gemüseauflauf" gehört?
Wir lösen dieses Problem im folgenden Skript mit den sogenannten Abschnitten und Sprüngen:
Was willst Du essen?
+ Pizza
Du vertilgst ein Stück Pizza.
-> nachtisch
+ Gemüseauflauf
Du lässt Dir eine Portion Gemüseauflauf schmecken.
-> nachtisch
=== nachtisch ===
Was möchtest Du zum Nachtisch?
+ Eis
Du genießt eine Kugel Eis.
+ Obstsalat
Du löffelst eine Schale Obstsalat.
+ Pizza
Du vertilgst ein Stück Pizza.
-> nachtisch
+ Gemüseauflauf
Du lässt Dir eine Portion Gemüseauflauf schmecken.
-> nachtisch
=== nachtisch ===
Was möchtest Du zum Nachtisch?
+ Eis
Du genießt eine Kugel Eis.
+ Obstsalat
Du löffelst eine Schale Obstsalat.
Die Nachtischauswahl steht jetzt in einem eigenen Abschnitt, dessen Beginn durch === nachtisch === markiert ist.
Und mit dem Sprung -> nachtisch gelangen wir genau in diesen Abschnitt.
Inky meckert, wenn es innerhalb eines Abschnittes eine Sackgasse gibt, es also nicht mehr weitergeht. Das ist in dem letzten Script nach der Auswahl eines Nachtisches der Fall, dann bekommt ihr eine Fehlermeldung wie diese:
Line 15: ran out of content. Do you need a '-> DONE' or '-> END'?
Line 15: ran out of content. Do you need a '-> DONE' or '-> END'?
Abhilfe verschafft ein spezieller Sprung nach -> END, der signalisiert, dass das Programm an dieser Stelle abgeschlossen ist:
Was willst Du essen?
+ Pizza
Du vertilgst ein Stück Pizza.
-> nachtisch
+ Gemüseauflauf
Du lässt Dir eine Portion Gemüseauflauf schmecken.
-> nachtisch
=== nachtisch ===
Was möchtest Du zum Nachtisch?
+ Eis
Du genießt eine Kugel Eis.
-> END
+ Obstsalat
Du löffelst eine Schale Obstsalat.
-> END
+ Pizza
Du vertilgst ein Stück Pizza.
-> nachtisch
+ Gemüseauflauf
Du lässt Dir eine Portion Gemüseauflauf schmecken.
-> nachtisch
=== nachtisch ===
Was möchtest Du zum Nachtisch?
+ Eis
Du genießt eine Kugel Eis.
-> END
+ Obstsalat
Du löffelst eine Schale Obstsalat.
-> END
Zuletzt geändert: Dienstag, 14. Mai 2024, 15:33