Zufallsmission

  • Zufallsmission

    Also mich würde es interressieren wie man Zufallsmissionen, wie z.B. in Pokemon Mystery Dungeon hinbekommt.

    Ich möchte die Missionen nicht vorher erstellen, es soll einfach eine Mission mit Ort Opfer (täter) erscheinen.

    Ich weiß da nicht weiter..



    THX im voraus



    baiii
    They´ll take you in a land of Mysteries and Magic to defence it from the darkness...
  • Alles was du brauchst ist random(x)

    Gibt eine Zahl zurück die größer gleich 0 bis kleiner gleich x liegt.

    Der Rest liegt an dir.


    Z.b. könntest du erst einmal einen zufälligen Ort bestimme, dann aus einer reihe von Täterarten eine auswählen und und und...
  • Alles was du brauchst ist random(x)

    Gibt eine Zahl zurück die größer gleich 0 bis kleiner gleich x liegt.
    Sry das ich das Thema nochmal aufgreife, aber wollte ebend was dazu sagen ^^

    Stimmt nicht ganz, rondom gibt eine Zahl zwischen 0 und kleiner als x an.
    Deswegen hat Mark Overmars in GMA auch bei den zweiten spiel "direction = random(361)" anstatt "direction = random(360)" geschrieben.

    Und nur so ein kleiner Tipp von mir:
    benutzte ceil(x), floor(x), oder round(x), weil random auch Kommazahlen wieder gibt.

    MFG
    Metalknight
  • Deswegen hat Mark Overmars in GMA auch bei den zweiten spiel "direction = random(361)" anstatt "direction = random(360)" geschrieben.
    Ich bezweifle, dass Overmars das geschrieben hat, es macht nämlich keinen Sinn. Direction 360 ist dasselbe wie Direction 0. Es reicht also random(360) zu nehmen und abzurunden (ich glaube die Abrundungsfunktion heißt floor oder so). Man braucht nur die Directions von 0 bis 359.

    Außerdem ist es ungeschickt eine hässliche Zahl in die Randomfunktion zu packen. Höchswahrscheinlich will man durch Random etwa 1000 und nicht 1001 oder 100 und nicht 101 mögliche Ergebenisse kriegen. Und wenn man Random(100) nimmt und aufrundet, hat man 100 Ergebnisse von 1 bis 100 und beim Abrunden 100 Ergebnisse von 0 bis 99. Das ist allgemein die einzig logische Lösung.
  • Dann versuch mal, 0 aufzurunden...
    Stimmt, das hatte ich vergessen. Auch wenn es in der Praxis absolut selten vorkommt, bleibt diese Möglichkeit theoretisch immer offen. Eine unschöne, aber sichere Lösung: Bei einem Ergebnis von 0 den Würfelwurf einfach wiederholen. Naja, ich habe in der Praxis sowieso immer "floor" angewandt (ich glaube jetzt weiß ich auch wieder warum), daher interessiert mich der 0-Fall herzlichst wenig. Und zur Not kann man das Floor-Ergebnis immer um 1 erhöhen, wenn man denn doch Zahlen ab 1 bis 100 gegenüber 0 bis 99 vorzieht. ;)