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

Memory (Zufallszahlen)

Dundee

Geonewbie
Hi,

habe eine Idee zur Umesetzung eines Memory Wherigo.
Als Editor verwende ich Urwigo, generelle Dinge sind mir klar, aber bei diesem Thema komme ich ins Grübeln.

3 Bildpaare, somit 6 Zonen. Die Bildpaare sollen per Zufallsprinzip auf die 6 Zonen verteilt werden.

Wie kann man sowas realisieren, man muss ja beachten, daß eine Zufallszahl mindestens (und auch maximal) 2x vergeben werden muss...

Kenne mich im allgemeinen mit dem Programmieren aus (Beispielsweise VBScript).
LUA Code schaut auch nicht so schwer aus, leider habe ich bis jetzt aber nichts finden können,
wie man "User directives" oder "User functions" im Urwigo einsetzt.
Auch den Unterschied zwischen den beiden ist mir nicht klar.
Nehmen wir mal an, ich habe einen fertigen LUA Code, der per Zufallsprinzip die Felder "füllen" könnte.
Wie und wo starte ich diesen Code dann ?
Und, gibt es irgendwo eine Befehlsreferenz speziell für LUA und Wherigo (Setzen/Abfragen von Objekteigenschaften beispielsweise) ?

Wer kann Licht ins Dunkle bringen ?
 
OP
D

Dundee

Geonewbie
Inzwischen habe ich eine Routine erstellt, die 6 Spielfelder mit Zufallszahlen belegt.
Soweit kein Problem.

Einzigste offene Frage bleibt:
Wie kann man per User Functions auf Objekteigenschaften zugreifen,
sei es festgelegte Variablen mit Werten versehen, Images zu Zonen festlegen usw.

Das hier bringt weder eine Fehlermeldung im Editor, noch passiert irgendwas,
wo liegt der Fehler ?

Code:
function test1()
	cartMemory = Wherigo.ZCartridge()
	cartMemory.ZVariables = {Feld1 = 123}
	zoneFELD1 = Wherigo.Zone(cartMemory)
	zoneFELD1.Name="TRALALA"
	zoneFELD1.Active=true
end

Für alle die das Vergeben der Zufallszahlen interessiert,
auch wenn es evtl. nicht perfekt ist, aber es funktioniert:

Code:
function sonstwas()
	Spielfeld={}
	Kartevergeben={}

	for x=1,6,1 do
		Spielfeld[x]=0
		Kartevergeben[x]=0
	end

	for x=1,3,1 do
		Kartevergeben[x]=0
	end
	
	repeat
		for Zufallsbild=1,3,1 do	
			repeat
				Zufallsfeld=math.random(6)
				if Spielfeld[Zufallsfeld] == 0 then
					Spielfeld[Zufallsfeld] = Zufallsbild
					Kartevergeben[Zufallsbild] = Kartevergeben[Zufallsbild] + 1
				end
			until Kartevergeben[Zufallsbild]==2
		end	
		AllDone=0
		for a=1,3,1 do
			if Kartevergeben[a] then AllDone=1 else AllDone=0 end
		end
	until AllDone==1	
	Wherigo.MessageBox(Spielfeld[1].."-"..Spielfeld[2].."-"..Spielfeld[3].."-"..Spielfeld[4].."-"..Spielfeld[5].."-"..Spielfeld[6]) 
end
 
OP
D

Dundee

Geonewbie
Danke Dir !

Obfuscate strings und Obfuscate identifiers deaktiviert
und die Variablen sind nun per objNAME "ansprechbar".
Das hat nir sehr weitergeholfen.
 
Oben