Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak wykonać pętle tego kodu?
MrCoody
post 7.10.2012, 23:27:42
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 12
Dołączył: 1.05.2011
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Witam! Mam kod:
  1. #pierwszy atak
  2. if($us_hp >= 1)
  3. { $atak_us_a = rand($us_at_min,$us_at_max); //losowanie ataku gracza w pierwszym ataku
  4. $atak_zw_a = rand($zw_at_min,$zw_at_max); //losowanie ataku zwierza w pierwszysm ataku
  5.  
  6. $hp_zw_a = $zw_hp - $atak_us_a; //odejmowanie ataku
  7. $hp_us_a = $us_hp - $atak_zw_a; //odejmowanie ataku
  8.  
  9. echo "Pierwszy atak<br>"; // wyswietla pierwszy atak
  10. echo "&raquo; Gracz ma $us_hp HP zadaje $zwierze $atak_us_a obrażeń.<br>"; // gracz ma 100HP i bije mysz 12 obrażeniami
  11. if($hp_zw_a <= "0") { //jeśli zwierz przegra gracz wygrywa
  12. echo "Wygrałeś!"; } // trolololo WYGRAŁEŚ!
  13. else {echo "&raquo; $zwierze ma ".$hp_zw_a." HP zadaje graczowi $atak_zw_a obrażeń.<br>"; //jeśli nie to dalej walczy
  14.  
  15.  
  16. #drugi atak ___________________________________________________________________________
  17. if($hp_us_a >= 1)
  18. { $atak_us_b = rand($us_at_min,$us_at_max); //losowanie ataku gracza w pierwszym ataku
  19. $atak_zw_b = rand($zw_at_min,$zw_at_max); //losowanie ataku zwierza w pierwszysm ataku
  20.  
  21. $hp_zw_b = $hp_zw_a - $atak_us_b; //odejmowanie ataku
  22. $hp_us_b = $hp_us_a - $atak_zw_b; //odejmowanie ataku
  23.  
  24. echo "Drugi atak<br>"; // wyswietla pierwszy atak
  25. echo "&raquo; Gracz ma $hp_us_a HP zadaje $zwierze $atak_us_b obrażeń.<br>"; // gracz ma 100HP i bije mysz 12 obrażeniami
  26. if($hp_zw_b <= "0") { //jeśli zwierz przegra gracz wygrywa
  27. echo "Wygrałeś!"; } // trolololo WYGRAŁEŚ!
  28. else {echo "&raquo; $zwierze ma ".$hp_zw_b." HP zadaje graczowi $atak_zw_b obrażeń.<br>"; //jeśli nie to dalej walczy
  29.  
  30. #trzeci atak ___________________________________________________________________________
  31. if($hp_us_b >= 1)
  32. { $atak_us_c = rand($us_at_min,$us_at_max); //losowanie ataku gracza w pierwszym ataku
  33. $atak_zw_c = rand($zw_at_min,$zw_at_max); //losowanie ataku zwierza w pierwszysm ataku
  34.  
  35. $hp_zw_c = $hp_zw_b - $atak_us_c; //odejmowanie ataku
  36. $hp_us_c = $hp_us_b - $atak_zw_c; //odejmowanie ataku
  37.  
  38. echo "Trzeci atak<br>"; // wyswietla pierwszy atak
  39. echo "&raquo; Gracz ma $hp_us_b HP zadaje $zwierze $atak_us_c obrażeń.<br>"; // gracz ma 100HP i bije mysz 12 obrażeniami
  40. if($hp_zw_c <= "0") { //jeśli zwierz przegra gracz wygrywa
  41. echo "Wygrałeś!"; } // trolololo WYGRAŁEŚ!
  42. else {echo "&raquo; $zwierze ma ".$hp_zw_c." HP zadaje graczowi $atak_zw_c obrażeń.<br>"; //jeśli nie to dalej walczy
  43.  
  44. }
  45.  
  46. } else { echo "Przegrałeś!"; }
  47. } else { echo "Przegrałeś!"; }
  48.  
  49. } else { echo "Przegrałeś!"; } } else { echo "Przegrałeś!"; }
  50.  
jest napisany przezemnie, ale nie znam się na pętlach dlatego tak jest napisany biggrin.gif

Jak można to przerobić na pętlę for lub while. Jest to "kod" na atakowanie zwierzęcia. Po każdym ataku zabierane jest HP od obydwu postaci czyli gracza i zwierzęcia i opisuje przebieg ataku. Jeśli któraś postać ma 0 lub mniej to przegrywa, jeśli jest to zwierzę to wypisuje Wygrałeś! jeśli gracz to Przegrałeś! snitch.gif

Z góry dzięki za podpowiedź lub całość biggrin.gif Ja nawet nie wiem jak to ugryźć. Pozdrawiam :}


--------------------
Ogarniam COŚ WIELKIEGO :]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Ulysess
post 8.10.2012, 00:22:49
Post #2





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

Ostrzeżenie: (0%)
-----


podpowiedź:

  1. for ($l_r = 1 ; ($atakujacy['zycie'] > 0 AND $obronca['zycie'] > 0) AND $l_r <= 31; $l_r++)


tłumacząc pętla będzie się wykonywać do momentu aż z któraś z postaci nie będzie miała mniej życia jak 0 (można przerobić na 1) bądź nie zostanie osiągnięta maksymalna ilość rund.-> 30

w pętli robisz zwykłe obliczenia na zasadzie
  1. $atakujacy['zycie'] = $atakujacy['zycie'] - $obrazenia_obronca;
  2. $obronca['zycie'] = $obronca['zycie'] - $obrazenia_atakujacy;



akcje typu wygrana przegrana remis robisz już po za pętlą na podstawie zycia atakujacego , obroncy , liczby rund
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:16