![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 30.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem ze skryptem.
Problem w tym że while powoduje błąd (for też). Czy jest jakaś możliwość, żeby efekt był taki jak powinien, a żeby nie było błędu (np. w C++ można wypisywać w bloku while informacje na ekran i obsługiwać pobierane wartości). Proszę o w miarę szybką odpowiedź i żeby to było w miarę łopatologicznie wytłumaczone EDIT: dałem orginalny kod bo użytkownik nospor nie zrozumiał o co i chodziło A co do bloków while/for to przecież mogą być one zamienne o ile mi wiadomo Fatal error: Maximum execution time of 10 seconds exceeded in *adres* on line 185 w linjce 185 mam: while($user['hp']>0 && $enemy['hp']>0){ lub użyte zamiennie: for( ;$user['hp']>0 && $enemy['hp']>0; ){ Ten post edytował Karlik_t 30.06.2005, 10:40:01 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
o pierwsze : jaki wywala blad
po drugie : piszesz cos o for, a ja tam widze dwa while jeden po drugim z tym samym warunkiem. po trzecie. w petli smazyz znacznik <form ... . to raczej jest zle podejscie. tym bardziej ze ciagle ma takie same wartosci. ten kod nie trzyma sie kupy Ten post edytował nospor 30.06.2005, 10:30:51 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 30.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(nospor @ 2005-06-30 09:30:11) po trzecie. w petli smazyz znacznik <form ... . to raczej jest zle podejscie. tym bardziej ze ciagle ma takie same wartosci. Zauważyłem, bo wywala błąd. Założyłem temat żeby ktoś mi pomógł zastosować coś innego, żeby działało |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dzięki ze mnie wyrozniles w swoim edicie (zabrzmialo jak bym byl glupi czy cos, ale niech ci będzie (po prostu twoj kod nie trzyma sie kupy))
Co ty chcesz osiagnąć. Mas dwa while. w obu warunki ze jakas zmienna ma byc wieksz od 0. Ale w while ty tej zmiennej nie zmieniasz, wiec on ci ciagle wisi w tym while (zapetla sie). Wiec napisz co ty chcesz zrobic, po co ci te petle i sie nie denerwuj jak ludzie chca ci pomoc |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 30.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dalej zależnie od wyboru są instrukcje, które obniżają zmienne używane w warunku. "//instrukcje obsługujące dane z formularzu" tam to jest.
Nie będę tu wszystkiego przytaczał bo nie taka jest idea. Chodzi mi o to, że dopóki użytkownik ma tury to może wybiierać co chce zrobić. Sprawdzane jest co wybrał, odejmowane tury/HP i żeby znów mógł wybrać (o ile obaj gracze żyją i dany gracz ma jeszcze tury). P.S. Sorry za tego edita |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Wyskakuje ci blad bo ci while sie zadlugo przetwarza. Oznacza to, ze te twoje zmienjszanie zmiennych źle dziala i sie skrypt zapetla. Czy oby na pewno ty zmniejszasz to w tym samym skrypcie, czy chciales dopiero zmiejszaj jak gosciu cos zrobi. Jesli tak to zle, bo gosciu moze to u siebie zrobic a skrypt jest na serwerze nie u niego.
Moze wiec jednak pokaz caly kod (te zmniejszanie zmiennych) ps: przeprosiny przyjete (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 30.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Tego kodu byłoby trochę za dużo, po xza tym chodzi o ogólne:
to co mamy if(isset($_POST['escape'])){//działania} if(isser($_POST['eu'])){//działania} itd. do końca w tych działaniach jest zmniejszenie zmiennych |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
warunek
if(isset($_POST['escape'])) nie jest nigdy spelniony. Czemu? po ty submitowi nadajesz name="Ucieczka", a to wlasnie name jest indexem tablicy $_POST, a nie value (u ciebie value="escape") milego poprawiania (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 30.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
To value jest wyświetlane jako link :?: Pogubiłem się. Do tego nawet nie wyświetla formularza, a powinien chyba
|
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tu się nie ma co gubić (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
parametr value - to co widzisz na przycisku parametr name - jest indexem w $_POST. czyli powinno byc: <input type="submit" name="escape" value="Ucieczka"> zmien na podobnej zasadzie pozostale przyciski. formularz ci sie nie wyswietla bo sie skrypt zapetla. wywal formualrza przed obie petle. Przecież formularz ma bycwyswietlony raz (a nie milion razy) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 30.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Formularz ma być wyświetlony kiedy możesz wybrać rodzaj wybieranej czynność
P.S. zaraz poprawię, bo teraz szukam niepotrzebnego zakończenia bloku "}", bo jak zauważyłem że nie zakończyłem jednego to dałem i teraz muszę znaleźć gdzie dałem za dużo :/ EDIT: poprawiłem (zamieniłem name i value) i teraz przetwarza skrypt w nieskończonoś ć, jeszcze dam formularz na początek EDIT2: dałem formularz przed pętle i też przetwarza bez końca Ten post edytował Karlik_t 30.06.2005, 11:35:37 |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Formularz ma być wyświetlony kiedy możesz wybrać rodzaj wybieranej czynność Nie wiem o co chodzi. Wiem jedno.Formularz ma być wyswietlony raz. W twojej obecnej sytuacji jest generowany w nieskonczoność (tak jak petla). Daj formualrz poza petlą, ewnetulnie naloż na niego jakiegoś if jesli ma byc wyswitelany warunkowo
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 30.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Heh teraz nie mogę sprawdzić, bo serwer coś się zepsuł (forum i ftp działa dobrze, a sama stronka (gra) nie)
EDIT: to chyba ten skrypt się zapętlił na moim koncie dlatego nie mogę sprawdzić (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Ten post edytował Karlik_t 30.06.2005, 11:47:26 |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat dałem formularz przed pętle i też przetwarza bez końca czyli twoje warunki zawsze sa spelnione. źle cos robisz w petli. nie jestem ci juz w stanie pomoc, gdyż nie chcesz pokazac calego kodu (zmniejszanie zmiennych). Sprawdz ewentualnie czy napewno ci wchodzi w te if ktore zmniejszaja te zmienne. Daj echo w tym if i wyzeruj od razu dana zmienna aby warunek w while nie byl spelniony. jesli wyjdzie i pokaz to co bylo w echo, znaczy ze wchodzi w if co z kolei bedzie oznaczac, ze w tym if zle zmniejszasz zmienne |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 30.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Mogę pokazać skrypt ale nie publicznie, masz jakieś gg lub coś w tym stylu :?:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.09.2025 - 09:58 |