Random

Chaeser

Mitglied
Random - Flash 5.0

Ich habe einem Button folgende Befehle gegeben, damit er ein zufälliges Ziel ansteuert.
PHP:
on (release) {
    tellTarget ("") {
        x = random(9);
        if (Number(x) == 0) {
            gotoAndStop ("a");
        } else if (Number(x) == 1) {
            gotoAndStop ("b");
        } else if (Number(x) == 2) {
            gotoAndStop ("c");
        } else if (Number(x) == 3) {
            gotoAndStop ("d");
        } else if (Number(x) == 4) {
            gotoAndStop ("e");
        } else if (Number(x) == 5) {
            gotoAndStop ("f");
        } else if (Number(x) == 6) {
            gotoAndStop ("g");
        } else if (Number(x) == 7) {
            gotoAndStop ("h");
        } else {
            gotoAndStop ("i");
        }
    }
}
Das funktioniert soweit, wie erwünscht.
Das Problem ist nur, dass Manchmal zweimal das gleiche Ziel nacheinander angesteuert wird. Wie kann ich das verhindern?
 
Zuletzt bearbeitet:
Hoi,

also das klingt eigentlich nur nach einem mathematischen Problem. :)
Speichere jeweils immer den Zufallswert noch in einer Zweitvariable und vergleiche dann jeweils immer den neuen Zufallswert mit dieser Variable.
Ist es der gleiche, dann lass nochmal per Zufall eine neue Ziffer bestimmen, stimmen die beiden nicht überein, soll die erstegezogene Variable weiterverwendet werden.

Solange du das ganze nicht letztendlich soweit treiben willst, dass am Ende nur noch 1 Variable erscheinen darf, sollte das ganze nicht zu rechenaufwendig für Flash sein.

Geist
 
Klingt gut und ich begreiffe, was du meinst. Das oben ist aber leider das Beste, was ich mit Actionscript zu Stande bringe:( .
Wäre dir dankbar, wenn du mir etwas auf die Sprünge helfen könntest.
 
Hoi,

also mein frühmorgentlicher Versuch sähe so aus. ;)
Ist aber nicht ausprobiert in Flash, also ohne Gewähr. :)
PHP:
on (release) {
    tellTarget ("") {
        x = random(9);
        while (x != y) {
           x = random(9);
        }
        y = x;
        if (Number(x) == 0) {
            gotoAndStop ("a");
        } else if (Number(x) == 1) {
            gotoAndStop ("b");
        } else if (Number(x) == 2) {
            gotoAndStop ("c");
        } else if (Number(x) == 3) {
            gotoAndStop ("d");
        } else if (Number(x) == 4) {
            gotoAndStop ("e");
        } else if (Number(x) == 5) {
            gotoAndStop ("f");
        } else if (Number(x) == 6) {
            gotoAndStop ("g");
        } else if (Number(x) == 7) {
            gotoAndStop ("h");
        } else {
            gotoAndStop ("i");
        }  
    }
}

hth,
Geist
 
Hm, seh' jetzt eigentlich schon, dass das ja gar nix werden kann, wenn in der while()-Bedingung x != y verlangt wird.

Müsste natürlich dann x == y eintreffen, damit eine neue Zahl bestimmt wird.

Also
PHP:
while (x == y) {
   x = random(9);
}
wäre schonmal korrekter...aber ob's geht... *achselzuck*. ;)

Geist
 
Super! :) ihr habt mir klasse geholfen!...

Hab in andren foren schon geschaut da is nur ewig kompliziertes zeuchs von wegen function.math usw ^^...

bin auch noch flash mehr oder weniger... ins achen action script.. also thx....

könnt bald ein random-header auf meiner page bewundern! :)
 
Zurück