Ergebnis 1 bis 7 von 7

Thema: Warscheinlichkeits Rechnung bei Item ausgabe

  1. #1

    Warscheinlichkeits Rechnung bei Item ausgabe

    so, ich hab da mal ne frage =)

    ich möchte das der Held beim beim abbauen von Erzen eine warscheinlichkeit hat gute und schlecht Erze zu bekommen.
    Gedacht hab ich mir das er 50% Normales Erz 30% Gutes 20% Schlechtes und 10 % Sehrgutes Erz bekommt.
    Wie kann ich das umsetzen?
    Und kann ich es auch umsetzen das alle 5 möglichen Items diese Warscheinlichkeit durchlaufen.
    Also ca. so:
    Er kann 5 Erze bekommen
    bekommt dann
    3 Normale
    1 Schlechtes
    2 Gute
    Und das eine textnachricht diese dann auch aufsagen kann.

    hoffe man versteht mich. Aber Punkt 1 ist wichtiger, das ich überhaupt warscheinlichkeiten einbauen kann.

    Danke schonmal für die hilfe.

    edit: Maker 2K

    Geändert von Tingles (16.09.2012 um 19:58 Uhr)

  2. #2
    5x das da:
    Code:
    <> Var ABCD = Random 1~10
    Dann nurnoch über Abfragen festlegen, welche Zahlen welches Erz hervorbringen,
    zB 2, 3, 5, 7 und 8 für Normal.

    Das mit der Message anschliessend solltest du hinbekommen.

  3. #3
    Ha, Habs geschafft :-D danke.

    Geändert von Tingles (16.09.2012 um 20:45 Uhr)

  4. #4
    die abfrage machst du mit einer fork/conditional branch.
    dort fragst du einfach nach der zufallsvariable.

    wichtig ist, dass unten der haken bei else case drin ist. und du kannst dann zb "greater then or equal to" einstellen.

    ich würde die reihenfolge wahrscheinlich so machen, dass ich mit der größten zahl anfange

    also abfrage, if random vari = 9 or more --> sehr gutes erz

    in den else case: if random vari = 7 or more--> schlechtes erz

    in den else case dieser abfrage(also nicht in den ersten: if random vari = 5 or more--> gutes erz

    und schließlich: if random vari = 1 or more---> normales erz

    das letzte deckt dann quasi die 50% ab, also von 1-5.
    also immer von den großen zu den kleinen arbeiten, ich bin zwar nicht ganz sicher, warum das so gemacht wird, aber iwie geht das glaub ich besser, vlt kann das noch jemand ergänzen ^^

    ich find die frage nicht noobig, ich finds gut, dass du dich damit beschäftigst ^^

  5. #5
    danke, ich hab das jetzt einfach so gemacht und bin das 20 mal durchgelaufen und die warscheinlichkeit stimmt eig.
    Zufall 1-10
    wenn Zufall 1 = Schlechtes erz
    wenn Zufall 2 = Normales Erz
    wenn Zufall 3 = Normales Erz
    .
    .
    .
    wenn Zufall 7 = Gutes Erz
    wenn Zufall 8 = gutes Erz
    .
    .
    .
    wenn Zufall 10 = Sehr gutes Erz

    dabei kommt 1 öffter als 10, was aber gut ist. Liegt vllt. daran das er das erst abfragt, aber das kann ja eig nicht, weil die zahl voher schon feststeht. ...läuft aber eig ganz gut.
    Den Timer hab ich so gesetzt das, wenn Zufall einmal druchläuft +1 Waren Ausgang berechnet und die Seite des Events auf 2 springt wenn ich +5 hab. Kp ob das so am besten ist, aber es geht =)

    edit: ich hab den hacken bei "Ansonsten" nicht gesetzt, einfach nach der ersten Abfrage die 2 gestartet, verändert das die Warscheinlichkeit? Oo

    Geändert von Tingles (16.09.2012 um 21:21 Uhr)

  6. #6
    so gehts auch ^^ ...aber du hättest nicht unbedingt für jede zahl eine einzelne abfrage machen müssen.


    Zitat Zitat
    edit: ich hab den hacken bei "Ansonsten" nicht gesetzt, einfach nach der ersten Abfrage die 2 gestartet, verändert das die Warscheinlichkeit? Oo
    nein.
    es geht dabei nur darum, dass wenn du ohne else cases arbeitest(also die nächste abfrage immer in den else case der vorhergehenden reinkopierst), dass er dann immer alle abfragen durchläuft. das mag bei deinem noch gehen, aber wenn es mehr sind, kann das zu performance problemen führen. wenn du zB als erstes nach der 1 fragst und es ist auch die 1, dann geht er in der abfrage nicht weiter, weil wenn ein "else case" zutreffen würde, müsste ja etwas anderes als 1 rauskommen. so, wenn du die abfragen alle untereinander kopierst, fragt er trotz das es schon 1 ist auch noch ab ob es zB 2 sein könne. es sei denn du lässt ihn mit nem label oder so die anderen abfragen dann überspringen ^^

  7. #7
    ahh, das macht sinn. Ich werde es umschreiben, warum das programm ärgern danke

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •