• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Zufällige Zonen nach abschalten

Inselknolle

Geocacher
Guten Morgen Cachergemeinde.

Ich möchte gerade ein Spiel entwerfen, bei dem es notwendig ist, dass per Zufallsprinzip eine Zone sichbar geschatet wird und der Spieler in einer Zeit X diese Zone erreichen muss um dort einen Teil der Final Koordinate zu erhalten. Leider stehe ich hier etwas auf dem Schlauch. Ich hatte folgendes mit Urwigo versucht:

Runde starten -> per Zufall wird eine von 5 Zonen ausgewählt und sichbar gemacht -> Timer auf 25 Sekunden und Starten -> Spieler hat das Ziel erreicht und bekommt die Koordinate -> nun soll diese eine Zone dauerhaft abgeschaltet werden so dass beim nächsten mal "Runde starten" nur noch aus 4 Möglichkeiten per Zufall gewählt wird.

Forum.jpg

So wie ich es versucht habe, geht es natürlich nicht denn die Zufallsentscheidung kommt zum anfang und wenn dann festgestellt wird, dass die Zone schon erledigt ist (wird via Variable festgelegt) dann passiert ja nichts und der Spieler müsste im schlechtesten Fall mehrfach die Runde starten, bis die Zufallsentscheidung dann mal (per Zufall) auf auf eine verfügbare Zohne fällt.

Hat jemand eine Idee?

lieben Dank

edit: ja ich weiß. Die Variablen auf dem Bild sind vertauscht. :gott:
 
Bin nicht der WIG-Entwickler, aber rein von der Logik her. Kannst damit vielleicht etwas anfangen (davon ausgehend, dass du die Zufallszahlen 1 bis 5 einer konkreten Zone zuweisen kannst):

Variante 1:
--------------
Funktion RundeStarten:
1. Ziehe eine Zufallszahl zwischen 1 und 5
2. Hat die Zone der aus 1. gezogenen Zufallszahl den Status inaktiv (= wurde schon besucht)?
-> Nein: Gehe weiter zu 3.
-> Ja: Starte die Funktion RundeStarten erneut
3. Zeige Zone mit der gezogenen Zufallszahl an
4. Starte Timer

Nachteil dieser Funktion: Die Wahrscheinlichkeit ist sehr hoch, dass öfters eine Zone gezogen wird, die schon mal besucht wurde. Bis eine noch nicht besuchte Zone gezogen wird, geht das so schnell, dass der Spieler das gar nicht mitbekommt.

Variante 2:
-------------
1. Erstelle bei Spielstart ein Array (Liste von Werten, welche die Zonen repräsentieren) - davon ausgehend, dass WIG Arrays kennt:
["Zone1", "Zone2", "Zone3", "Zone4", "Zone5"]
2. Ziehe eine Zufallszahl gemäss der Anzahl Elemente aus dem Array (beim allerersten mal eine Zahl zwischen 1 und 5
3. Zeige Zone mit der gezogenen Zufallszahl an
4. Starte Timer
5. Ganz wichtig: Entferne die Zone gemäss gezogener Zufallszahl (Stichwort: Index) aus dem Array

Nachteil dieser Funktion: Komplexer als 1. Variante, aber landet bei jedem Durchlauf einen Treffer.

Hoffe, das war irgendwie verständlich und ist im WIG (Lua) anwendbar.
 
Oben