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

Urwigo Schleife/Wiederholung

timu

Geocacher
Hallo Zusammen

Ist es möglich ohne LUA in Urwigo eine Schleife zu Programmieren?
Das heisst es soll ein Teil des Flussdiagrammes solange wiederholt werden, bis eine bestimmte Bedingung erfüllt ist.

Ich möchte folgende Situation nachbauen:
Spieler trifft auf Monster und es kommt zum Kampf.
Kampf bedeutet Zufallsentscheidung ob man trifft oder nicht.
Sowohl Spieler als auch Monster haben eine gewisse Anzahl HP (hinterlegt als Variablen)
Wird ein Treffer erzielt so sinkt die HP des Monsters. Erzielt das Monster einen Treffer so sinkt die HP des Spielers
Wenn die HP des Monsters/Spielers unter null sinkt, dann hat man es besiegt/man stirbt, ansonsten geht der Kampf weiter (Flussdiagramm beginnt von vorne).

Wie löse ich diesen Loop am besten?
Ich habe leider keine Ahnung von LUA...

Vielen Dank für eure Hilfe
 

jonny65

Geomaster
Die Aktion "Kampf" muss ja irgendwie ausgelöst werden, wie machst das, durch ein Item mit den Kommandos "Kämpfen" und "Aufgeben" ? Kämpfen führt in dem Fall zu random decision (Punkte Monster minus 1 und Punkte Spieler minus 1), danach Auswertung ob Punkte Monster oder Punkte Spieler = 0. Wenn dies nicht zutrifft, dann erneuter Aufruf des Items (Show Object details). So würd ichs machen. Damits nicht zu öde wird, natürlich mit Gemetzelszenen und v.a Sound ;-)

Generell gehen Schleifen, am einfachsten die Inputschleife, indem die Eingabe verglichen wird. Wenn die nicht passt, wird der Input erneut aufgerufen. Hier braucht man aber natürlich eine Ausstiegsmöglichkeit, sonst ist man gefangen ;-)
Aber auch bei anderen Dingen kann man das nach ähnlichem Muster händeln, indem die zu wiederholende Aktion in eine Funktion (bei Urwigo "Functions" ganz unten bei den Objects) gepackt wird. In der Funktion gibts dann nach einer Fallunterscheidung ein Function Call auf die Funktion selber, also Schleife.
 
OP
T

timu

Geocacher
Vielen Dank!

Mit einer Funktion, die auf sich selbst verweist hats tiptop geklappt! Das ist mir gar nicht in den Sinn gekommen :)
Merci für die Inputs!

LG
Timu
 

hinzundkunz

Geocacher
Hier mal ne Frage an die Cracks:
Wenn ich eine solche rekursive Funktion habe und der Function Call immer in einerm "Then"-Zweig passiert:

Steck ich dann nicht zu tief drin? Sprich: Kann es passieren dass die Cartridge iwann mal hängen bleibt?

Ich glaub beim C64 gabs dann den "stack overflow error" oder so!
 
Oben