lop Skrevet 24. september 2008 Del Skrevet 24. september 2008 Jeg har et spørsmål om litt scripting av sjanser. Brukeren har en sjanse tall. for eks (40) som da er 40 %. Så skal brukeren utføre et spill der en får erfaring av å spille. Når han har gjort en del vellykkete spill så øker sjansen hans for å greie det igjen. Men taper han mister han sjanse. Noen som har noe peiling på hvordan jeg skal få til dette? Lenke til kommentar
loathsome Skrevet 25. september 2008 Del Skrevet 25. september 2008 (endret) Ta en titt på "rand ()". Du kan simulere 100% ved å f. eks gjøre noe slikt $rand = rand(0,10); if($rand == 0){ // du vant <- 10% sjanse for at dette skjer } Så kan du bare endre verdien til $rand alt etter hvor stor sjansen skal være. 0,1 for eksempel, vil gi 50% sjanse. Endret 25. september 2008 av loathsome Lenke til kommentar
OISNOT Skrevet 25. september 2008 Del Skrevet 25. september 2008 Ta en titt på "rand ()". Du kan simulere 100% ved å f. eks gjøre noe slikt $rand = rand(0,10); if($rand == 0){ // du vant <- 10% sjanse for at dette skjer } Så kan du bare endre verdien til $rand alt etter hvor stor sjansen skal være. 0,1 for eksempel, vil gi 50% sjanse. Det er vel faktisk 9% sjanse siden det er 11 tall du kan få som svar. For 10% sjanse må du bruke rand(1,10) eller rand(0,9) Lenke til kommentar
Axentrix Skrevet 25. september 2008 Del Skrevet 25. september 2008 Det mest logiske, og enkle, er jo å regne med prosent med en gang. <?php $sjangs = 40; // prosent sjangs if(rand(0,100) < $sjangs) { // mer kode.. } ?> Lenke til kommentar
Wackamole Skrevet 25. september 2008 Del Skrevet 25. september 2008 (endret) <?php $sjangs = 40; // prosent sjangs if(rand(1,100) == $sjangs) // Må regne fra 1 ikke 0, da blir det 101... { // mer kode.. } ?> Hvorfor har du brukt >, han skal jo et eksakt tall... må bruke == Endret 25. september 2008 av Famen Lenke til kommentar
Epower Skrevet 25. september 2008 Del Skrevet 25. september 2008 (endret) <?php $sjangs = 40; // prosent sjangs if(rand(1,100) <= $sjangs) // Må regne fra 1 ikke 0, da blir det 101... { // mer kode.. } ?> Sånn skal det være. Hvis man bruker == blir det bare 1 prosent sjanse uansett. Endret 25. september 2008 av Eirikkkkk Lenke til kommentar
Alex Moran Skrevet 25. september 2008 Del Skrevet 25. september 2008 Bruk heller mt_rand(...) Lenke til kommentar
loathsome Skrevet 26. september 2008 Del Skrevet 26. september 2008 Ta en titt på "rand ()". Du kan simulere 100% ved å f. eks gjøre noe slikt $rand = rand(0,10); if($rand == 0){ // du vant <- 10% sjanse for at dette skjer } Så kan du bare endre verdien til $rand alt etter hvor stor sjansen skal være. 0,1 for eksempel, vil gi 50% sjanse. Det er vel faktisk 9% sjanse siden det er 11 tall du kan få som svar. For 10% sjanse må du bruke rand(1,10) eller rand(0,9) Hehe, det stemmer. Til mitt forsvar var klokken fem om morgenen Lenke til kommentar
Rematusen Skrevet 27. september 2008 Del Skrevet 27. september 2008 (endret) Slik fungerer kriminalitet funksjonen min, når jeg plusser på rank: $rank2 = $hent['rank']; if ($rank2 >= 0 AND $rank2 < 100) { $rank_a = $rank2 + 20.50; } $update = mysql_query("UPDATE brukere SET `rank`='$rank_a' WHERE id='".$_SESSION['id']."'"); Du kan se om du skjønner noe av det. Endret 27. september 2008 av Rematusen Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå