Zufallszahl kreiren...

  • Zufallszahl kreiren...

    Dass man eine Zufallszahl mit random(x) macht, weiß ich.
    Aber:
    Jetzt will ich, dass mir alle Zahlen von 1-32 in zufälliger Reihenfolge ausgegeben werden.
    Konkret:
    Ich habe eine Variable. Nenne wir sie zahl.
    Diese Variable soll zu Anfang = eine Zufallszahl zwischen 1 und 32 gesetzt werden.
    Und in Alarm 0 nach 20 Steps oder so, soll Variable zahl = die nächste zufallszahl gesetzt werden.
    Dann wieder 20 Steps bis Alarm 0 usw.

    Alle Zahlen sollen vorkommen. Keine soll doppelt vorkommen.

    Wie mache ich das mit möglichst wenig Rechenaufwand?
  • ich versuche es jetzt mal aus dem kopf^^

    ins create event:

    GML-Quellcode

    1. i=0
    2. zahl[i]=round(random(32))


    ins alarm event:

    GML-Quellcode

    1. i+=1
    2. ok=false
    3. while (ok=false)
    4. {
    5. zahl[i]=round(random(32))
    6. for(i2=0;i2<i;i2+=1)
    7. {
    8. ok=true
    9. if zahl[i]=zahl[i2]
    10. {
    11. ok=false
    12. i2=i+1
    13. }
    14. }
    15. }
    Alles anzeigen


    ein problem könnte aber kommen.
    wenn alle zahlen durch sind könnte das spiel steken bleiben.
    also könntest du wenn alle zahlen durch sind
    i wieder auf 0 setzen und dann fängt es wieder von vorne an :D
    Die Schönheit liegt im Auge des Betrachters :D
  • Benutzer online 1

    1 Besucher