login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mt_rand() met procenten (Opgelost)

Offline maigel - 24/05/2008 22:51 (laatste wijziging 24/05/2008 22:51)
Avatar van maigelPHP beginner Hoy,
ik ben zelf een text-base mafia game aan het maken. (ja ik weet het, niet zo origineel meer maar ik maakt het vooral om m'n php kennis wat bij te schaven en omdat ik graag eens aan een groot project wou werken)
Nu je kan misdaden doen, en hierbij staat de kans in % dat de misdaad zou lukken.
Als je de misdaad doet kan je ofwel slagen of wel mislukt het, dit zou ik bv met
  1. mt_rand(0,1);
kunnen doen maar dan is de kans op slagen altijd 50%.
Iemand een idee hoe ik dit doe als de kans op slagen bv 75% is?

3 antwoorden

Gesponsorde links
Offline timmie_loots - 25/05/2008 00:06
Avatar van timmie_loots PHP gevorderde Gewoon mt_rand(1,100) doen. Dan kijk je of dat getal kleiner is of gelijk aan de kans (in dit geval 75), als dat het geval is dan is het gelukt.

Je krijgt dan zoiets:

  1. <?php
  2.  
  3. $random_value = mt_rand(1,100);
  4. $kans = 75;
  5.  
  6. if ($random_value <= $kans) {
  7.  
  8. $gelukt = true;
  9.  
  10. } else {
  11.  
  12. $gelukt = false;
  13.  
  14. }
  15.  
  16. ?>


Dat nog even aanpassen op zo'n manier dat het in je script past, maar dat moet toch lukken?
Offline Abbas - 25/05/2008 02:53
Avatar van Abbas Gouden medaille

Crew .NET
Werkt dit ook niet? Want dit is véél korter!
  1. <?php
  2. $gelukt = (mt_rand(1,100) < 75);
  3. ?>
Offline maigel - 25/05/2008 11:16
Avatar van maigel PHP beginner hehe bedankt, ik had ook al zoiets gemaakt maar ik dacht dat het niet echt nauwkeurig is.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.219s