Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Jak wykonać pętle tego kodu?
MrCoody
post
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 (IMG:style_emoticons/default/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ś! (IMG:style_emoticons/default/snitch.gif)

Z góry dzięki za podpowiedź lub całość (IMG:style_emoticons/default/biggrin.gif) Ja nawet nie wiem jak to ugryźć. Pozdrawiam :}
Go to the top of the page
+Quote Post
Ulysess
post
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 18:58