![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (10%) ![]() ![]() |
Witam. Chcę zrobić, by wykonywało mi się działanie, dopóki nie wyjdzie 0.
Mam taki kod: while($user1_walka <= 0) { $user1_walka = $user_atak * 100/$user_zrecznosc + $user2_obrona + $user2_zycie; $user2_walka = $user2_atak * 100/$user2_zrecznosc + $user_obrona + $user_zycie; if($user1_walka <= 0) { echo $user1_walka; } break; } No i nie wiem jak to zrobić za bardzo. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (10%) ![]() ![]() |
Znów całe CPU hostingu wezmę
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
No dopóki nie będzie zera
![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (10%) ![]() ![]() |
No ale to za długo. Może jest lepsze rozwiązanie. Tworzę pseudo grę, taką klikankę, i tworzę system walki. Chcę, aby jakoś dzialanie się robiło, póki nie wyjdzie 0 (przeciwnik nie umrze)
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
to może
wtedy również jak będzie minus to pętla się zakończy. Przykład działania:
Ten post edytował _Borys_ 5.02.2013, 18:14:37 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (10%) ![]() ![]() |
Ten Twój 1 przykład nie działa, i ten mój
Po prostu nie wyświetla mi zadanych obrażeń (Wyniku z działania) |
|
|
-Gość- |
![]()
Post
#8
|
Goście ![]() |
Nie wiem po co stosujesz tą pętlę while. Patrząc na kod powinien być warunek if jeśli wcześniej te zmienne są gdzieś ustawiane, bo w pętli zmienne $user1_walka i $user2_walka są ciągle w obliczane w ten sam sposób, mają tą samą wartość. Ewentualnie może chcesz w pętli odejmować lub dodawać? Ale wtedy nie instrukcja = tylko += lub -=
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 190 Dołączył: 5.02.2011 Skąd: 64-800 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (10%) ![]() ![]() |
Dupa, nie działa nic. Nie wyswietla
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Zobacz mój post:
http://forum.php.pl/index.php?showtopic=19...st&p=939823 Przerób to sobie na pętle działającą, aż któryś będzie miał 0 i tyle. Ten post edytował Damonsson 6.02.2013, 19:31:06 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (10%) ![]() ![]() |
i to też:
Pętli for jeszcze nie przerabiałem, i nie bardzo wiem jak się do tego zabrać. Ten post edytował Utilaft 6.02.2013, 19:57:22 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Czy while, czy for to mało istotne. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (10%) ![]() ![]() |
Życia mam przypisane już z mysqla. Zaraz przetestuje
Przegrales walke. Przeciwnik zniszczyl cie .Graczowi 1 zostalo -100 życia Graczowi 2 zostalo 1950 źycia Zyskales: 200 doswiadczenia Nick: Utilaft2 Nick: Utilaft Nie ważne jaki będzie atak i hp. czasami nawet graczowi 2 zostaje więcej żyć niż ma w bazie. Wcześniej było złe działanie Ma być takie: $user1_walka = $user2_zycie - $user_atak - $user_zrecznosc + $user2_obrona; $user2_walka = $user_zycie - $user2_atak - $user2_zrecznosc + $user_obrona; Ale skrypt wykonuje się w nieskonczonosc. Ten post edytował Utilaft 6.02.2013, 21:01:40 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Weź przerzuć się na układanie kwietników czy coś w czym może się spełnisz, dostałeś od każdego przykładowe kody, ode mnie GOTOWIEC, w którym wystarczy sobie pozmieniać parametry na własne i jeszcze masz problem.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (10%) ![]() ![]() |
Uwierz mi że tak zrobiłem.
Ale.. 1. Twój kod działa, ale z tymi parametrami co dałeś, z moimi nie działa. Skrypt się wykonuje w nieskonczonosc. 2. To samo w innych. |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
Ten Twój 1 przykład nie działa, i ten mój
pomijam fakt że sam algorytm liczący jest dosyć dziwny - czym większy atak tym mniejsze obrażenia to jest pętla nieskończona ponieważ nie modyfikujesz $user1_walka ani $user2_walka to znaczy "modyfikujesz" ale w każdym przebiegu masz to samo ponieważ nie zmieniasz wartości żadnej ze zmiennych $user_atak $user_zrecznosc $user_obrona $user_zycie .... czyli jeśli w pierwszym przejściu masz wynik $user1_walka = 100 a $user2_walka = 200 to w milionowym przejściu pętli dalej masz $user1_walka = 100 i $user2_walka = 200 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (10%) ![]() ![]() |
Czyli jak mam to rozwiązać?
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
dobra weź kartkę papieru
i napisz $user_atak=5; $user_zrecznosc=10; $user_obrona = 5; $user_zycie=50; $user2_atak=8; $user2_zrecznosc=4; $user2_obrona = 3; $user2_zycie=60; i rozpisz sobie klika pierwszych przejść pętli czyli przejście 1: $user1_walka = ... $user2_walka=... sprawdź czy $user1_walka < 0 || $user2_walka < 0 przejście 2: .... ile wynosi $user1_walka oraz $user2_walka po przejściu 1 a ile po przejściu 3 ? |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 19.01.2013 Ostrzeżenie: (10%) ![]() ![]() |
Ok, poradziłem sobie. Może trochę na około ale jest.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 16:15 |