login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[OOP] Korter maken case

Offline lasdesigner - 16/04/2006 19:56
Avatar van lasdesignerPHP beginner Hallo,

Ik moet zoiets (zie de switch) vaak gebruiken. Hoe kan ik dit bijv. in 1 functie zetten? Het is niet allemaal op dezelfde manier! Dus $kans is in een andere functie niet rand(1, 11) maar bijv rand(1, 100); (voorbeeld).

  1. <?php
  2. function JatAutoBijHuis($gebruikersnaam) {
  3. $rang = Wereld::RangProcent($gebruikersnaam);
  4. switch($rang) {
  5. case ($rang < 10):
  6. $kans = rand(1, 11);
  7. break;
  8. case ($rang < 20 and $rang > 10):
  9. $kans = rand(1, 10);
  10. break;
  11. case ($rang < 30 and $rang > 20):
  12. $kans = rand(1, 9);
  13. break;
  14. case ($rang < 40 and $rang > 30):
  15. $kans = rand(1, 8);
  16. break;
  17. case ($rang < 50 and $rang > 40):
  18. $kans = rand(1, 7);
  19. break;
  20. case ($rang > 50 and $rang < 60):
  21. $kans = rand(1,6);
  22. break;
  23. case ($rang > 60 and $rang < 70):
  24. $kans = rand(1,5);
  25. break;
  26. case ($rang > 70 and $rang < 80):
  27. $kans = rand(1,4);
  28. break;
  29. case ($rang > 80 and $rang < 90):
  30. $kans = rand(1,3);
  31. break;
  32. case ($rang > 90 and $rang < 100):
  33. $kans = rand(1,2);
  34. break;
  35. default:
  36. $kans = 1;
  37. break;
  38. }
  39. if($kans == 1) {
  40. $resultaat = 1;
  41. } else {
  42. $resultaat = 0;
  43. }
  44.  
  45. return $resultaat;
  46. }
  47. ?>

2 antwoorden

Gesponsorde links
Offline Rens - 16/04/2006 20:04 (laatste wijziging 16/04/2006 20:12)
Avatar van Rens Gouden medaille

Crew algemeen
Ik denk dat je dat het beste kunt doen door de functie die je nu hebt iets aan te passen.
Je past hem zo aan, zodat je de waardes voor de rand functie meegeeft in een array.

edit; Heb zelf eens even zitten klooien, was eigenlijk beetje nieuwsgierig hoe de code eruit zou zien^^
  1. <?PHP
  2. function JatAutoBijHuis($sGebr, $aRand)
  3. {
  4. $iRang = Wereld::RangProcent($gebruikersnaam);
  5. switch($iRang)
  6. {
  7. case ($iRang < 10):
  8. $iKans = rand(1, $aRand[0]);
  9. break;
  10. case ($iRang < 20 && $iRang > 10):
  11. $iKans = rand(1, $aRand[1]);
  12. break;
  13. // enz
  14. default:
  15. $iKans = 1;
  16. break;
  17. }
  18. }
  19. ?>

Gebruiken:
  1. <?PHP
  2. $aRand[] = 11;
  3. $aRand[] = 10;
  4. $aRand[] = 9;
  5. $aRand[] = 8;
  6. $aRand[] = 7;
  7. $aRand[] = 6;
  8. $aRand[] = 5;
  9. $aRand[] = 4;
  10. $aRand[] = 3;
  11. $aRand[] = 2;
  12. if(JatAutoBijHuis("blaat", $aRand))
  13. {
  14. echo "Goed!";
  15. } else
  16. {
  17. echo "Fout!";
  18. }
  19. ?>

Dat was het geworden:p.
Offline lasdesigner - 16/04/2006 20:06
Avatar van lasdesigner PHP beginner Oké, inderdaad! dat kan ik ook doen, dank je wel!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.217s