Seite 1 von 2
Zufallsefeckt?
Verfasst: 02.12.2005 20:52
von Max L
Hi!
Ich habe vor ein Diebspiel zu machen.
Aber ich check net, wie man einen Zufallsefeckt wie diesen hier
http://www.orbitalpirates.de/attack.php?id=416
Also, den normalen Zuaffls efeckt kenn ich, aber ich möchte warscheinlichkeiten machen, zum beispiel wenn man drauf klickt wirt fast immer "7" kommen, aber ab und zu auch "6" oder "8"
Verfasst: 02.12.2005 21:01
von fanrpg
rand()

Verfasst: 02.12.2005 21:41
von Max L
Was??? Etwas genauer bitte...
Verfasst: 02.12.2005 22:10
von Pyramide
etwas genauer
Verfasst: 02.12.2005 22:29
von Max L
axo.
ak, habs jetz so gemacht, aber dann kommt immer nur de selbe Zahl.
Ich glaube ich werde das nie checken.
Verfasst: 02.12.2005 22:57
von fanrpg
Code: Alles auswählen
$zufallszahl = mt_rand(1, 4);
echo $zufallszahl; // Gibt eine Zufallszahl zwischen 1 und 4 aus.
Verfasst: 03.12.2005 14:37
von Max L
ok, jetzt gehts bei mir
Aber, ich hab dann noch eine Frage:
Angenomen, es gibt jetzt 3 Zufallsefeckte.
Aber alle Zufälle, haben eine Summe von "10"
Geht sowas?
Verfasst: 03.12.2005 15:50
von Schumi
Code: Alles auswählen
do
{
$zahl1 = mt_rand(0, 10);
$zahl2 = mt_rand(0, 10);
$zahl3 = mt_rand(0, 10);
} while ( $zahl1 + $zahl2 + $zahl3 != 10);
Damit werden die Zufallszahlen so lange neu erzeugt, bis deren Summe zehn ergibt.
Verfasst: 03.12.2005 17:10
von naderman
Schumi hat geschrieben:Code: Alles auswählen
do
{
$zahl1 = mt_rand(0, 10);
$zahl2 = mt_rand(0, 10);
$zahl3 = mt_rand(0, 10);
} while ( $zahl1 + $zahl2 + $zahl3 != 10);
Damit werden die Zufallszahlen so lange neu erzeugt, bis deren Summe zehn ergibt.
Eine vermutlich schnellere Alternative wäre:
Code: Alles auswählen
$zahl1 = mt_rand(0, 10);
$zahl2 = mt_rand(0, 10 - $zahl1);
$zahl3 = mt_rand(0, 10 - $zahl1 - $zahl2);
Die obere Schleife könnte nämlich problemlos zu einer Endlosschleife werden, auch wenn das bei so kleinen Zahlen recht unwahrscheinlich ist. Der Nachteil ist, dass mit der zweiten Variante nicht alle Werte für jede Zahl gleich wahrscheinlich sind. Bei $zahl1 sind alle Zahlen von 0 bis 10 gleich wahrscheinlich, bei $zahl2 sind Zahlen die kleineren Zahlen wahrscheinlicher.
Man muss sich also fragen, ob es einem so wichtig ist gleiche Wahrscheinlichkeiten zu erreichen, dass man riskiert, dass die Laufzeit auch mal was länger wird, dann wäre Schumis Weg der bessere oder ob man einfach nur schnell zu einem Ergebnis kommen will, dann sollte man meine Methode anwenden.
naderman
Verfasst: 03.12.2005 17:13
von Max L
Ähm, ich habe jetzt beide alternativen ausprobiert, aber ich habe folgendes problem: Es dauert total lange bis die 3 Zahlen angezeigt werden. Und manchmal kommt dann an der Stelle wo die Zahl stehen soll, nur irgendeine Fehlerschrift...