![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 6.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam chciałbym prosić o pomoc z przestawieniem tego kodu z ifów na pętle aby nie trzeba było dopisywać ifów tylko aby kod wykonywał się automatycznie aż wartość zejdzie poniżej 1.
Nie mam pomysłu jak zrobić to za pomocą pętli próbowałem z while ale pętla wyswietla mi się w nieskończoność. <?php $playerinfo = 'SELECT hp, attack, defense FROM players'; $playerinfo2 = mysql_query($playerinfo); $playerinfo3 = mysql_fetch_array($playerinfo2); $creatureinfo = 'SELECT * FROM creatures'; $creatureinfo2 = mysql_query($creatureinfo); $creatureinfo3 = mysql_fetch_array($creatureinfo2); $playerhp = $playerinfo3['hp']; $playerattack = $playerinfo3['attack']; $playerdefense = $playerinfo3['defense']; $creaturehp = $creatureinfo3['hp']; $creatureattack = $creatureinfo3['attack']; $creaturedefense = $creatureinfo3['defense']; $playerdamage = rand(1,20) + $playerattack; $creaturedamage = rand (1,20) + $creatureattack; $newcreaturehp = $creaturehp - ($playerdamage - $creaturedefense); echo $newcreaturehp. '<br>'; $newplayerhp = $playerhp - ($creaturedamage - $playerdefense); echo $newplayerhp. '<br>'; if ($newplayerhp<1) { echo 'Przegraleś'; } elseif ($newcreaturehp<1) { echo 'Wygraleś'; break; } $newcreaturehp2 = $newcreaturehp - ($playerdamage - $creaturedefense); echo $newcreaturehp2; if ($newplayerhp<1) { echo 'Przegraleś'; } elseif ($newcreaturehp2<1) { echo 'Wygraleś'; } ?> |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 6.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
próbowałem coś takiego ale się pętla nie kończy
$playerhp = $playerinfo3['hp']; $playerattack = $playerinfo3['attack']; $playerdefense = $playerinfo3['defense']; $creaturehp = $creatureinfo3['hp']; $creatureattack = $creatureinfo3['attack']; $creaturedefense = $creatureinfo3['defense']; $playerdamage = rand(1,20) + $playerattack; $creaturedamage = rand (1,20) + $creatureattack; $newcreaturehp = $creaturehp - ($playerdamage - $creaturedefense); $newplayerhp = $playerhp - ($creaturedamage - $playerdefense); while($creaturehp>1) { $newcreaturehp2 = $newcreaturehp - ($playerdamage - $creaturedefense); $newcreaturehp3 = $newcreaturehp - $newcreaturehp2; echo $newcreaturehp3; |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Bo w pętli nigdzie nie zmieniasz wartości $creaturehp więc jak ma się skończyć ?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 6.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
a napisal bys mi tą pętle jak ma to wyglądać bym był wdzięczny bo się trochę pogubiłem a dopiero zaczynam zabawe z php.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
A co to to ma robić...
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 6.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
juz dzięki ogarnąłem sam
do{ $creaturehp = $creaturehp - ($playerdamage - $creaturedefense); $playerhp = $playerhp - $creaturedamage; echo 'zostalo ci  ' .$playerhp. 'hp<br>', 'przeciwnikowi zostalo  ' .$creaturehp. 'hp<br>'; } while($creaturehp>1 && $playerhp>1); if($creaturehp<=1){ echo 'Wygrales'; } elseif($playerhp<=1){ echo 'Przegrales'; } |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 15:49 |