Hallo zusammen,
vor einiger Zeit habe ich hier mal nach Vorschlägen zur Realisierung eines Online-Fussballmanagers gefragt. Ich habe nun vor einigen Monaten mit der Programmierung begonnen und kam bisher auch sehr gut vorran. Jetzt folgt aber das Schwerste, die Ergebnislogik über Zufallsgeneratoren / vermischt mit den Eigenschaften der Spieler. Um zu vermeiden, dass zu viele Tore fallen, muss ich aber den Zufall irgendwie selbst beeinflussen können (programmierter Zufall). Das heisst anhand der Stärken will ich quasi auswürfeln, wie wahrscheinlich ein Tor ist...die Szenen sind gekapselt in 1 = keine Szene, 2 = Torszene, 3 = Foul und 4 = Sonstiges, wobei bei der Torszene dann noch einmal die Stärke Abwehr (Gegner) mit derer der Stürmer vergleichen werden soll...Ich lasse eine While-Schleife 90 + x Mal durchlaufen, welche die 90 Minuten des Spieles darstellt (soll eine Live-Berechnung werden, Art Textmodus). Quasi über sleep und flush(); generiert. Funzt ja auch alles prima, lediglich habe ich aber nun das Problem, wie verhindere ich, dass einfach unrealistische Ergebnisse entstehen? Ich kann den Zufall zwar beeinflussen, indem ich zum Beispiel schreibe:
$szene = rand(1,100);
Und dann halt auswürfle, wenn Zufallszahl kleiner als x usw., aber tendenziell betrachtet bringt mir das gar nix, da die Zufallszahlen ja weiterhin dem Zufall entsprechen und ich ja nicht bestimmen kann, welche Zahl eher kommen soll, sondern lediglich bestimmen kann, bei welcher was ausgeführt werden soll. Und wenn dann eine Zahl dennoch zu oft kommt, dann bringt mir das gar nix.
Es muss doch irgendwie möglich sein, die Zufälle zu programmieren, selbst zu bestimmen, wie viel Mal eine Zahl kommen darf bzw. wie häufig? Ich habe hier schon mal versucht und habe dabei nix wirklich hilfreiches gefunden, ausser ein index und die Gewichtung über ein Array, aber das Ganze klappte nicht wirklich....! Ich müsste irgendwie auf % verteilen können, wie gross die Wahrscheinlichkeit ist, dass eine bestimmte Zahl x erscheint...
1 = 60%, 2=20%, 3=10%, 4=5%, 5=5%.... usw.
Kann mir da vielleicht jemand einen Tipp geben, oder hat jemand einen passenden Codeschnipsel parat? Es bringt mir nix, wenn dann Ergebnisse von xx:xx Zustande kommen, zumal das nicht glaubwürdig ist, denn ich ziehe ja die Stärken mit ein und je höher die Differenz umso "grösser" der "Zufall" für eine Torchance und dann eventuell das Tor...
Liebe Grüsse und schon einmal vielen Dank!
Etienne
vor einiger Zeit habe ich hier mal nach Vorschlägen zur Realisierung eines Online-Fussballmanagers gefragt. Ich habe nun vor einigen Monaten mit der Programmierung begonnen und kam bisher auch sehr gut vorran. Jetzt folgt aber das Schwerste, die Ergebnislogik über Zufallsgeneratoren / vermischt mit den Eigenschaften der Spieler. Um zu vermeiden, dass zu viele Tore fallen, muss ich aber den Zufall irgendwie selbst beeinflussen können (programmierter Zufall). Das heisst anhand der Stärken will ich quasi auswürfeln, wie wahrscheinlich ein Tor ist...die Szenen sind gekapselt in 1 = keine Szene, 2 = Torszene, 3 = Foul und 4 = Sonstiges, wobei bei der Torszene dann noch einmal die Stärke Abwehr (Gegner) mit derer der Stürmer vergleichen werden soll...Ich lasse eine While-Schleife 90 + x Mal durchlaufen, welche die 90 Minuten des Spieles darstellt (soll eine Live-Berechnung werden, Art Textmodus). Quasi über sleep und flush(); generiert. Funzt ja auch alles prima, lediglich habe ich aber nun das Problem, wie verhindere ich, dass einfach unrealistische Ergebnisse entstehen? Ich kann den Zufall zwar beeinflussen, indem ich zum Beispiel schreibe:
$szene = rand(1,100);
Und dann halt auswürfle, wenn Zufallszahl kleiner als x usw., aber tendenziell betrachtet bringt mir das gar nix, da die Zufallszahlen ja weiterhin dem Zufall entsprechen und ich ja nicht bestimmen kann, welche Zahl eher kommen soll, sondern lediglich bestimmen kann, bei welcher was ausgeführt werden soll. Und wenn dann eine Zahl dennoch zu oft kommt, dann bringt mir das gar nix.
Es muss doch irgendwie möglich sein, die Zufälle zu programmieren, selbst zu bestimmen, wie viel Mal eine Zahl kommen darf bzw. wie häufig? Ich habe hier schon mal versucht und habe dabei nix wirklich hilfreiches gefunden, ausser ein index und die Gewichtung über ein Array, aber das Ganze klappte nicht wirklich....! Ich müsste irgendwie auf % verteilen können, wie gross die Wahrscheinlichkeit ist, dass eine bestimmte Zahl x erscheint...
1 = 60%, 2=20%, 3=10%, 4=5%, 5=5%.... usw.
Kann mir da vielleicht jemand einen Tipp geben, oder hat jemand einen passenden Codeschnipsel parat? Es bringt mir nix, wenn dann Ergebnisse von xx:xx Zustande kommen, zumal das nicht glaubwürdig ist, denn ich ziehe ja die Stärken mit ein und je höher die Differenz umso "grösser" der "Zufall" für eine Torchance und dann eventuell das Tor...
Liebe Grüsse und schon einmal vielen Dank!
Etienne
Kommentar