login  Naam:   Wachtwoord: 
Registreer je!
 Forum

paardenrace - denkwijze (Opgelost)

Offline W0etah - 18/08/2009 11:34
Avatar van W0etahPHP beginner Hi,

gisteren had iemand mij gevraagd om een kleine paardenrace te maken voor een spel waarmee hij bezig is, nu heb ik alles al gemaakt, het werkt perfect.

Maar waar ik over struikelde was over hoe ik een paard ga laten winnen ...

Er zijn dus 7 paarden, elk paard heeft een andere kans van winnen:
(1/2), (1/4), (1/6), (1/8), (1/12), (1/15) en (1/20)

Het zou leuk zijn moest iemand mij een zetje in de goede richting kunnen geven (hoeft niet met code, gewoon de denkwijze)

Alvast bedankt

7 antwoorden

Gesponsorde links
Offline Koen - 18/08/2009 11:47
Avatar van Koen PHP expert Voor bijvoorbeeld die laatste: je maakt een random getal tussen 1 en 20, en dan kijk je of dat getal bijvoorbeeld "1" is. Dan heb je één kans op 20 
Offline W0etah - 18/08/2009 11:51
Avatar van W0etah PHP beginner Ja, zover was ik eigenlijk ook al 

Maar dat wilt zeggen dat ik 7 randoms ga moeten doen?
Zoja, welke moet ik dan eerst doen?
Want als ik bv die van 1/2 laatst doet heeft die wel minder dan 1/2 kans, aangezien die 6 ervoor al lang gewonnen konden hebben.

Daar zat ik wast
Offline Stefan14 - 18/08/2009 13:40
Avatar van Stefan14 PHP gevorderde Je zou alles random kunnen maken natuurlijk.

Als je kansen 1/2, 1/4, 1/6 e.d. vast staan zou je zelfs deze volgorde random kunnen laten uitvoeren.

Deze kun je in een array zetten bijv. die je vervolgens random door elkaar gooit.

Een dergelijke code wat jij wilt is zelfs nog vrij eenvoudig te maken, denk dat ik met een uurtje zoiets klaar heb (alleen code, geen design).
Offline W0etah - 18/08/2009 13:43
Avatar van W0etah PHP beginner Ik zeg toch niet dat het moeilijk te maken is, in een uur zou ik dat ook kunnen.

Ik zat gewoon vast bij de denkwijze erachter.

De kansen staan inderdaad vast, maar ik ga jouw oplossing met een array eens proberen
Offline Stefan14 - 18/08/2009 13:55 (laatste wijziging 18/08/2009 14:05)
Avatar van Stefan14 PHP gevorderde Heb even snel iets in elkaar gezet, heb het niet getest.

Weet niet of onderstaande is wat je ongeveer bedoelt?

  1. <?php
  2.  
  3. $paarden = array(2, 4, 6, 8, 12, 15, 20);
  4. shuffle ($paarden); //door elkaar halen van de array
  5.  
  6. $aantalpaarden = count($paarden);
  7.  
  8. foreach ($paarden as $kans)
  9. {
  10. $paardnummer++;
  11.  
  12. $randgetal = mt_rand(1,$kans); //wordt een random getal gemaakt liggend tussen 1 en de winkans.
  13.  
  14. if ($randgetal == $kans);
  15. {
  16. echo $paardnummer.' heeft gewonnen!';
  17. break;
  18. }
  19.  
  20. if ($paardnummer == $aantalpaarden)
  21. {
  22. echo 'Er heeft geen enkel paard gewonnen!';
  23. }
  24. }
  25. ?>


Maargoed, helemaal kloppen doet dit natuurlijk ook niet, want er is altijd een paard dat wint  

In plaats van die laatste foutmelding zou je het natuurlijk ook zo kunnen maken dat het laatst overgebleven paard dan automatisch wint.
Offline maigel - 18/08/2009 14:12
Avatar van maigel PHP beginner Correct me if I'm wrong, maar die kansen dat je daar geeft zullen indien omgezet in % meer dan 100% geven, volgens mij zal je er toch moeten voor zorgen dat deze net 100% zijn in het totaal.
Dan kan je meteen met 1 random van 1 tot 100 en enkele if's kijken welk paard er wint
Offline W0etah - 18/08/2009 14:17
Avatar van W0etah PHP beginner och, ik zou eigenlijk gewoon mijn 7 paarden moeten verdelen over 100%, dat lijkt mij idd een goede oplossing
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.188s