Gespiele Zeit ausgeben

Gerade bei WIGs die darauf ausgelegt sind, dass Teams gegeneinander antreten, kann es gut sein dem Spieler zwischenzeitlich seine aktuell gespielte Zeit anzeigen zu lassen. Ob später die Spielzeit als Siegoption herhalten muss oder nur etwas die Spannung erhöhen soll bleibt natürlich dem Owner überlassen. In diesem Beispiel möchte ich mich nicht auf die Gerätezeit verlassen sondern die Stoppuhr mittels Timer und Variablen realisieren. Das wirkt etwas umständlich bietet aber den Vorteil, dass man die Variablen jederzeit abgreifen und nutzen kann.


Was brauchen wir?

Objekte / Eigenschaften

  • 1 Timer
  • 3 Variablen
  • 1 Gegenstand
  • 1 Zone (als Ziel)

Befehle / Ausdrücke

  • Timer starten
  • Timer stoppen
  • Dialog
  • Wert
  • Verketten
  • Erhöhen/Verringern
  • Wenn/Sonst


Beginnen wir mit dem einfachsten. Erstelle 3 Variablen und nenne sie Sekunden, Minuten und Stunden. Wähle als Wert immer Zahl 0 aus.


Im nächsten Schritt erstellen wir einen Timer. Nennen wir ihn Timer Taschenuhr. Setze die Art des Timers auf Intervall. Diese Einstellung sagt aus, dass immer wieder der selbe Prozess durchlaufen wird. Bei Countdown würde dieser Timer nach Ablauf der Zeit einfach stehen bleiben und eine erneute Handlung des Spielers erwarten. Im Intervall läft alles automatisch im Hintergrund. Setze die Dauer auf 1 Sekunde.

Was nun noch fehlt ist die Festlegung was beim Ablauf des Timers passieren soll. In unserem Beispiel soll der Timer automatisch starten wernn der Spieler die Cartridge startet und enden wenn er eine Zielzone erreicht hat. Wähle Ereingnisse Bei Ablauf unbehandelt und wende Dich dem Baukasten zu.

 

Was wollen wir jetzt hier erreichen? Jedes Mal wenn das Intervall durchlaufen wurde (jede Sekunde 1 Mal) soll die Variable Sekunden erhöht werden. Hat diese den Wert 60 (also 60 Sekunden) erreicht soll die Variable Minuten erhöht und die Variable Sekunden genullt werden. Selbiges natürlich bei Stunden ebenfalls. Hier wird es nun etwas unübersichlicher. Keine Sorge! Das ist alles kein Hexenwerk.

Ziehe in das Fenster Bei Ablauf des Timers den Befehl  Erhöhen/Verringern und ziehe unsere erste Variable Sekunden in den linken Bereich. Damit hast du festgelegt, dass jedes Mal bei Ablauf des Timers die Variable Sekunden um 1 erhöht wird. Das war jedoch nur der Anfang. Im nächsten Schritt soll ja kontrolliert werden ob bereits eine Minute Spielzeit um ist oder nicht. Hierfür lassen wir prüfen ob Variable Sekunden bereits den Wert 60 erreicht hat.

Ziehe hierfür den Befehl Wenn/Sonst direkt unter das Feld Erhöhen/Verringern und verzweige diesen. Mittels dieses Befehls gibst Du die Marschrichtung vor. Zum einen was ist wenn 60 Sekunden um sind und zum anderen was ist wenn das nicht der Fall ist.

 

Fülle den linken Schenkel nun mit dem Ausdruck Vergleichen und setze links in diesen die Variable Sekunden ein. Ändere den Wert rechts noch auf 60 und fertig. Der rechte Schenkel bleibt unbelegt da er das zeigt was passiert wenn die Variable Sekunden weniger wie 60 ist.

Legen wir im nächsten Schritt fest was passieren soll wenn die 60 erreicht ist. Wir legen fest, dass die Variable Sekunden genullt wird. Vergleiche das mit einer echten Uhr. Wenn hier die 60 Sekunden um sind beginnt sie auch wieder bei 1. Im gleichen Zuge wollen wir die Minuten auch um 1 erhöhen. Hierzu erfolgt wieder die Veriablenerhöhung mittels Erhöhen"Verringern. Achte dieses Mal aber darauf, dass wir ja die Variable Minuten erhöhen wollen. Setze also die richtige Variable ein.

 

Den gleich Schritt machst Du nun noch für Stunden denn es kann ja sein, dass die Erhöhung der Minuten gleichzeitig die 60 voll macht und somit eine ganze Stunde um ist.

 

Das Prinzip sollte klar sein.

 

Was passiert?

 

Läuft der Timer ab (je Sekunde ein Mal) wird der Variablenwert für Sekunde um 1 erhöht und sofort geprüft ob diese Variable jetzt 60 groß ist. Wenn nicht passiert nach einer Sekunde genau das selbe noch einmal. Ist der Wert 60 erreicht wird der Sekundenwert auf 0 gesetzt und die Variable für Minuten um 1 erhöht. Selbiges findet bei 60 Minuten statt.

 

Um die Gerätebelastung etwas zu verringern, kann der Timer auch auf 2 oder 5 Sekunden gesetzt werden. Achte darauf, dass man den Wert der Variable Sekunde durch die Zeit des Timers teilen kann. Währe doof wenn der Wert 60 übersprungen wird. Wenn Du ganz sicher gehen willst, änderst Du bei Verrgleichen Sekunden = 60 das gleich in größer/gleich. Damit wird Minute erhöht und Sekunde genullt sobald der Sekundenwert 60 oder höher erreicht wurde.

Was nun noch fehlt ist ein Gegenstand mit dem die aktuelle Zeit abgelesen werden kann. Natürlich kann man die Zeit auch automatisch bei Betreten der Zielzone anzeigen lassen. Heute ist mir aber etwas nach Taschenuhr.

 

Erstelle also den Gegenstand Taschenuhr und setze als Position Spieler ein. Somit findest du die Uhr in deinem Inventar wieder. Erstelle nun noch einen Befehl angucken.

 

Ziel ist es im laufenden Spiel die Taschenuhr anzugucken und die verstrichene Zeit lesen zu können.

Öffne nun den Befehl angucken im Menü der Taschenuhr. Um nun alle Variablen miteinander zu verbinden nutzen wir wieder den Ausdruck Verketten. Erstelle also einen Dialog und füge Verketten ein. Setze im Anschluss den Ausdruck Wert ein und fülle ihn mit etwas Text. Füge dann alle weiteren Werte (Variablen und Textbausteine) ein. Denke daran, dass die Leerzeuchen berücksichtigt werden müssen. Probiere einfach etwas herum.

Jetzt legst Du noch schnell fest, wann der Timer gestartet wird und wann er beendet wird. Dafür nutze ich den Befehl Timer starten (beim Starten der Cartridge) und ziehe unseren erstellten Timer Timer Tascheuhr rauf. Dann wird eine Zielzone erstellt (muss aktiv geschaltet sein) bei deren Berteten der Befehl Timer stoppen ausgeführt wird. Ziehe auch hier unseren Timer rein und das Hexenwerk ist vollbracht.