Zufallszahlen und PHP
jackieo
- php
1 JürgenB0 ChuckNorris0 Der Martin0 jackieo
Liebes Forum,
die Wahrscheinlichkeit in meinem Spiel-Skript sieht vor, dass die Computergegner
a) zu 40% aus Hexen bestehen
b) zu 25% aus Wölfen
c) zu 5% aus Drachen
d) und zu 30% aus Rittern
Das ergibt ja gesamt 100% (40+25+5+30 = 100)
Nun möchte ich die Wahrscheinlichkeit gerne per PHP abfragen und nutze dabei wohl am Besten die Funktion rand().
echo (rand(0, 100)/100) ergibt z.B. 0,54 und somit 54%.
Nun meine Fragen:
a) was mache ich nun mit dem Wert 54% bzw. 0,54? Macht es Sinn, nun abzufragen:
If WERT <= "40" // Wert ist hier ja jetzt 0,54
Then Gegner = Hexe
Else If WERT > "40" AND WERT < "65"
Then Gegner = Wolf
Else If WERT > "65" AND WERT < "70"
Then Gegner = Drache
Else Gegner = Ritter
b) wie schaffe ich es, dass der Gegner auch wirklich häufiger Hexe sein wird als z.B. ein Drache?
Vielen Dank und Grüße,
jackieo
Hallo jackieo,
a) zu 40% aus Hexen bestehen
b) zu 25% aus Wölfen
c) zu 5% aus Drachen
d) und zu 30% aus Rittern
ich würde es so machen:
Zufallszahl z mit 0 <= z < 100 erzeugen,
if z < 40 dann Hexe
else if z < 65 dann Wolf
else if z < 70 dann Drachen
else Ritter
So berechne ich den W-Baum auf meiner HP.
Gruß, Jürgen
Super, vielen Dank!
Zufallszahl z mit 0 <= z < 100 erzeugen
also wäre das in PHP $z = rand(0, 100); und danach folgt die Abfrage:
if z < 40 dann Hexe
else if z < 65 dann Wolf
else if z < 70 dann Drachen
else Ritter
?
If WERT <= "40" // Wert ist hier ja jetzt 0,54
Then Gegner = Hexe
Else If WERT > "40" AND WERT < "65"
Then Gegner = Wolf
Else If WERT > "65" AND WERT < "70"
Und was machst du bei genau 65? ;)
Hallo,
If WERT <= "40" // Wert ist hier ja jetzt 0,54
Then Gegner = Hexe
Else If WERT > "40" AND WERT < "65"
Then Gegner = Wolf
Else If WERT > "65" AND WERT < "70"Und was machst du bei genau 65? ;)
dann ist es das Phantom! ;-)
*scnr*
Martin
Und was machst du bei genau 65? ;)
soll natürlcih heißen:
If WERT <= "40" // Wert ist hier ja jetzt 0,54
Then Gegner = Hexe
Else If WERT > "40" AND WERT <= "65"
Then Gegner = Wolf
Else If WERT > "65" AND WERT <= "70"
Else ...