login  Naam:   Wachtwoord: 
Registreer je!
 Forum

while foutje

Offline Behemutant - 22/03/2008 15:13
Avatar van BehemutantNieuw lid Beste,

mijn script kijkt hoeveel punten er zijn, is deze minder dan het max dat vult hij deze weer aan.

  1. while($user_hp < $user_max)
  2. {
  3. $count++;
  4. $user_hp + 53;
  5. }
  6.  
  7. echo $count;


Probleem echt is dat ik een time out krijg... kan iemand mij svp vertellen wat ik verkeerd doe

7 antwoorden

Gesponsorde links
Offline timmie_loots - 22/03/2008 15:14
Avatar van timmie_loots PHP gevorderde Je moet $user_hp += 53; doen, op deze manier komt er namelijk niets bij en blijft het script oneindig lang doorgaan.
Offline Behemutant - 22/03/2008 15:36
Avatar van Behemutant Nieuw lid
  1. while($user_hp < $user_max)
  2. {
  3. $count++;
  4. $user_hp += 53;
  5. }


dan?
Offline Koen - 22/03/2008 15:37
Avatar van Koen PHP expert Perfect 
Offline Behemutant - 22/03/2008 15:40
Avatar van Behemutant Nieuw lid oke super, wist niet dat dat kon inplaats van

+ 53 += 53

dus dat is meteen een check van, doe 53 erbij, of als het al 100 is (user_max) dan stoppen? 
Offline Grayen - 22/03/2008 15:50
Avatar van Grayen PHP ver gevorderde
  1. $count = 0;
  2.  
  3. $add_hp = 53;
  4.  
  5. while ($user_hp < $user_max)
  6. {
  7. $count++;
  8.  
  9. // Stel user hp is 550 en user max is 600,
  10. // dan moet hij tot het maximum gaan dus 600.
  11. if ($user_hp > $user_max - $add_hp)
  12. {
  13. $user_hp = $user_max;
  14. }
  15. // Het maximum is nog niet binnen een loop bereikt.
  16. else
  17. {
  18. $user_hp += $add_hp;
  19. }
  20. }
  21.  
  22. echo $count;
Offline Sam - 23/03/2008 02:52 (laatste wijziging 23/03/2008 02:54)
Avatar van Sam PHP expert
Grayen schreef:
...

De lijntjes code binnen de while loop worden alleen uitgevoerd als $user_hp lager is dan $user_max, maar jij checkt binnen die loop of $user_hp groter is dan $user_max, wat dus nooit het geval zal zijn...
Offline Grayen - 23/03/2008 09:41
Avatar van Grayen PHP ver gevorderde
Citaat:
De lijntjes code binnen de while loop worden alleen uitgevoerd als $user_hp lager is dan $user_max, maar jij checkt binnen die loop of $user_hp groter is dan $user_max, wat dus nooit het geval zal zijn...


lol, wel goed kijken he . Dat staat er helemaal niet.

  1. $user_hp > $user_max - $add_hp


is heel wat anders als

  1. $user_hp > $user_max

Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.283s