Straftimer erstellen

In unserem Wherigo möchten wir vom Spieler eine Antwort abfragen. Wie so oft im Leben bleibt eine Entscheidung selten ohne Folgen. In unserem Fall soll er eine Antwort geben die dann auf ihre Richtigkeit geprüft wird. Ist die Antwort richtig, darf es weitergehen. Bei einer falschen Antwort soll nicht nur die Eingabe wiederholt werden sondern der Spieler soll auch eiche Strafzeit auferlegt bekommen. Erst nachdem diese verstrichen ist darf er einen neuen Versuch starten. Zur Eingabe nutzen wir einen Gegenstand. Außerdem soll bei einem Eingabeversuch geprüft werden, ob der Spieler überhaupt innerhalb der Zone ist. Sollte er außerhalb der Spielzone sein so bleibt die Antwortmöglichkeit verwehrt.


Was brauchen wir?

Objekte / Eigenschaften

 

  • 1 Zone
  • 1 Timer
  • 1 Eingabe
  • 1 Variable
  • 1 Gegenstand

 

Befehle / Ausdrücke

 

  • Eingabe
  • Timer starten
  • Festlegen
  • Wenn/Sonst
  • Enthält
  • Vergleichen

 



Erstelle eine Zone. Der Name ist egal. Achte darauf, dass die Zone (in unserem Fall) aktiv und sichtbar ist.

Erstelle danach einen Timer. In meinem Fall wird er als Straftimer bezeichnet. Wähle als Art Countdown aus und setze die Zeit auf 30 Sekunden.


Nun benötigen wir noch eine Eingabe. Mit dem Fragentyp Auswahl legst Du fest, dass der Spieler beim Spielen nur eine vordefinierte Auswahl an antworten erhält. Bei Antwortmöglichkeiten gebe Ja und Nein vor. Diese beiden Antworten kann der Spieler später auswählen.

 

ACHTUNG: Achte darauf keine Umlaute oder Sonderzeichen bei den Antwortmöglichkeiten zu verwenden. In diesem Fall funktioniert die Eingabe nicht.

Die Variable bildet in diesem Beispiel einen zentralen Punkt. Erstelle sie und bennene sie zum Beispiel als Straftimer. Setze den Wert auf Falsch (False) denn zu Beginn des Spiels hat der Spieler noch keine aktive Strafzeit.


Zu guter letzt benötigen wir noch einen Gegenstand über den der Spieler seine Eingabe machen kann. Hierfür nehme ich einfach eine Tastatur. Lege fest, dass sich der Gegenstand beim Spieler befindet denn sonst kann man nicht ohne weiteres auf ihn zugreifen.

 

Lege zusätzlich einen Befehl Antwort eingeben fest. Mit diesem fängt alles an.


Lege nun fest, was beim Klicken auf Antwort eingeben passieren soll. In unserem Beispiel wird als erstes kontrolliert, ob sich der Spieler wirklich in unserer Zone befindet denn (wir erinnern uns) nur in dieser Zone soll es möglich sein, die Antwort einzugeben.

 

Nutze hierfür nicht Vergleichen sondern setze Wenn/Sonst mit 2 Schenkeln und ziehe den Befehl Enthält hinein. In den Teil wird nun die Zone gezogen und in den rechten der Spieler. Das Programm kontrolliert nun, ob sich der Spieler dort befindet wo er sein soll.

 

Der rechte Schenkel erhält nur einen Dialog da er automatisch (Sonst) alle anderen Möglichkeiten (Spieler befindet sich irgendwo anders auf diesem Planeten) einschließt.

Im nächsten Schritt wollen wir abgleichen ob der Spieler aktuell eine Strafzeit absitzen muss oder nicht. Hierfür ziehen wir unter Spielzone enthält Spieler erneut einen Wenn/Sonst Befehl. Nutze danach den Ausdruck Vergleichen um zu kontrollieren ob die Variable Straftimer im Moment aktiv (Wahr) oder inaktiv (Falsch) ist. Bei der ersten Eingabe sollte diese Variable, gemäß unserer Grundeinstellung, auf Falsch stehen. Damit ist die Eingabe mittels Gegenstand möglich. Ziehe in diesem Fall die Eingabe in das Feld.

 

Wird an dieser Stelle erkannt, dass die variable Straftimer aktiv (Wahr) ist so bekommt der Spieler statt der Eingabemöglichkeit nur einen Dialog.

Was nun noch fehlt, ist der Verlauf der Eingabe. Wechsel hierfür zu Deiner angelegten Eingabe und kümmere Dich jetzt um die Ereignisse. Definiere Bei Eingabe unbehandelt.

 

Im ersten Schritt soll wieder geprüft werden ob die Antwort richtig ist. Hier soll JA richting und NEIN falsch sein. JA lässt den Spieler also weitermachen während NEIN eine Strafzeit auslöst.

 

Nutze hierfür, wie so oft, den Wenn/Sonst Befehl. Erstelle für jede mögliche Antwort einen Schenkel und versehe jeden mit dem Ausdruck Vergleichen. Theoretisch könnte ein Schenkel wieder freigelassen werden aber für die Übersichtlichkeit fülle ich beide Seiten komplett.

 

Ziehe in den linken Teil von Vergleichen den Ausdruck Antwort und ergänze rechts daneben mit JA bzw NEIN.

Es wird also geprüft welche Antwort der Spieler gibt. Bei der Antwort Ja geben wir dem Spieler jetzt einen Dialog aus der bestätigt, dass die Antwort richtig war und er zur nächsten Zone gehen soll. Im Anschluss könnte nun eine neue Zone sichtbar und aktiv geschaltet werden.

 

Bei der Antwort Nein erhält der Spieler ebenfalls einen Dialog. Im Hintergrund wird der Straftimer gestartet und die Variable Straftimer auf wahr gesetzt. Somit schließt sich der Kreis fast.

 

Versucht der Spieler jetzt, über die Tastatur, eine Eingabe zu machen so wird erkannt, dass der Stratimer aktiv ist und keine Eingabe möglich ist.

 

Nun müssen wir nur noch festlegen wann die Variable Straftimer von Wahr auf Falsch, also von aktiv auf inaktiv, geschaltet werden soll.

Wende Dich hierfür dem Timer zu. Wähle bei Ereignisse den Befeh Bei Ablauf unbehandelt aus. Wir wollen also jetzt festlegen, was passiert sobald der Straftimer (30 Sekunden) abgelaufen ist.

 

Ziehe also Festlegen in das Feld und weise an, dass bei Ablauf des Timers die Variable Straftimer von Wahr (aktiv) auf Falsch (inaktiv) geschaltet wird. Danach noch eine nette Mitteilung an den Spieler und die Sache ist fertig.