Tutorial: Wherigo-Caches mit Urwigo erstellen

Teil 5 „Nutzereingaben, Variablen“

Teil 1: Grundlagen und Drehbuch
Teil 2: Die Landschaft im Ausgangszustand
Teil 3: Die ersten Interaktionen
Teil 4: Timer und Zufallsereignisse
Teil 5: Nutzereingaben, Variablen
Teil 6: Optimierungen
Teil 7: Optimierungen 2 – Intervall-Timer und Logging

Das Telefon

Nun ist der Spieler also auf dem Gipfel gewesen, und es bleibt nur noch, ins Base Camp zurückzugehen und die Queen anzurufen (die Aufgaben, den Gipfel zu besteigen und die Queen anzurufen, fehlten bis hierher in der Cartridge, sind aber jetzt drin, ausserdem ist die Nummer der Queen gekürzt, damit man sich nicht so viel merken muss.).

Telefon und Zettel der Queen sind von Angang an verfügbar – der Spieler kann also im Prinzip auch schon vor der Besteigung versuchen, die Queen anzurufen. Das könnten wir verhindern, indem wir Telefon und/oder Zettel erstmal unsichtbar lassen. Da das aber unlogisch ist (wenn man den Everest besteigt, erscheint nicht einfach ein Telefon im Base Camp), bauen wir eine Verzweigung ein und prüfen, ob der Spieler schon oben war (und wenn nicht, lassen wir die Queen genervt reagieren). Wir benötigen also folgende Elemente für die Interaktion:

  • den Befehl „anrufen“ beim Telefon
  • eine Nutzereingabe für die Telefonnummer
  • eine Prüfung, ob die Nummer richtig getippt wurde
  • eine Prüfung, ob der Spieler zu zeitig anruft oder nicht

Wir legen also den Befehl „anrufen“ wie gehabt für das Telefon an. Als erste Aktion lassen wir den Spieler eine Nummer eingeben, dazu bauen wir links unten eine „Eingabe“, nennen sie „Telefonnummer“ und weisen ihr den Fragetyp „Zahl“ zu. Die Eingabe bringt zwei Ereignisse mit, „Bei Eingabe“ und „Beim Fehler“. „Beim Fehler“ wird ausgelöst, wenn der Spieler Daten eingibt, die nicht zum Format der Eingabe passen – bei uns z. B. Buchstaben in der Telefonnummer. Wir belegen dieses Ereignis einfach mit einer Meldung, dass nur Zahlen eingegeben werden sollen.

Bevor wir mit dem Eingeben und Prüfen der Telefonnummer beginnen, ist noch etwas Vorarbeit nötig. Wir wollen eine Variable einführen, in der gespeichert ist, ob der Gipfel schon bestiegen wurde oder nicht (das könnten wir eleganter auch über den Status der „Besteige den Gipfel!“-Aufgabe testen, die Variable hier nur, damit wir eine im Tutorial haben). Variablen legt man an wie Gegenstände, links unten, wir nennen unsere Gipfel und weisen ihr den Wert „Falsch“ zu. Das Ereignis „Beim Betreten“ der Zone „Gifpel“ muss nun noch um eine Aktion ergänzt werden, wir nutzen „Festlegen“, um den Wert der Variablen „Gipfel“ auf „Wahr“ zu ändern.

Jetzt behandeln wir das Ereignis „Bei Eingabe“ der Eingabe „Telefonnummer“. Wir nutzen einen „Wenn/Sonst“-Block, um als ersten Schritt zu prüfen, ob die eingegebene Nummer stimmt. Mit dem Ausdruck „Vergleichen“ auf der „Wenn“-Seite testen wir ob der Ausdruck „Antwort“ gleich „667788“ ist (das ist die Nummer, die auf dem Zettel steht). Falls nicht („Sonst“-Seite) kommt einfach nur eine Meldung („Kein Anschluss unter dieser Nummer“). Falls die Nummer stimmt, müssen wir prüfen, ob der Spieler schon am Gipfel war. Das Vorgehen ist analog dem Prüfen der Telefonnummer, nur das wir diesmal prüfen, ob die Variable „Gipfel“ wahr oder falsch ist. Ist sie falsch, war der Spieler noch nicht oben, die Queen geht zwar ran, ist aber verärgert. Ist der Spieler schon oben gewesen, so ist die Queen erfreut, die Aufgabe „Rufe die Queen an!“ wird als erledigt gekennzeichnet und wir geben eine Schlussmeldung aus.

Die Cartridge bis hierher

everest53-4.zip

zurück zu Teil 4 | weiter mit Teil 6