Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] [PHP] Odczekanie
mayu11
post 21.12.2009, 23:06:33
Post #1





Grupa: Zarejestrowani
Postów: 99
Pomógł: 9
Dołączył: 9.09.2008

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


Witajcie, mam problem tego typu:

Cytat
Ustaw kolejność na 1

Kiedy odbywa się walka [while]
Kiedy kolejność wynosi 1 [if]
Odejmij graczowi życia i wyświetl dane
Ustaw kolejność na 2
Kiedy kolejność wynosi 2 [if]
Odejmij graczowi życia i wyświetl dane
Ustaw kolejność na 2

(Gdy któryś stracił całe HP to zakończ i wyświetl wynik)


Wszystko ładnie wyświetla, ale NA RAZ, chciałbym, aby wyniki pojawiały się w odstępach jednosekundowych.
sleep() nie działa, ponieważ czeka (1s * ilość tur) przed pojawieniem się wygenerowanej walki.


Go to the top of the page
+Quote Post
camikazee
post 23.12.2009, 11:43:12
Post #2





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 17.04.2006
Skąd: Bydgoszcz

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


Nie lepiej byłoby napisać prostą funkcje w javascript z wykorzystaniem setTimeout.


--------------------
www.fachoweuslugi.pl | www.zlec-usluge.pl | www.pokazsie.pl
Go to the top of the page
+Quote Post
R4D3K
post 24.12.2009, 07:30:54
Post #3





Grupa: Zarejestrowani
Postów: 144
Pomógł: 12
Dołączył: 16.03.2007

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


Cytat
Wszystko ładnie wyświetla, ale NA RAZ, chciałbym, aby wyniki pojawiały się w odstępach jednosekundowych.


To ile jest tych tur blinksmiley.gif questionmark.gif
Go to the top of the page
+Quote Post
mayu11
post 24.12.2009, 22:23:24
Post #4





Grupa: Zarejestrowani
Postów: 99
Pomógł: 9
Dołączył: 9.09.2008

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


Nie znam się na javascript.

A co do ilości tur to zależy z jakim przeciwnikiem walczymy.
Go to the top of the page
+Quote Post
Wicepsik
post 24.12.2009, 22:25:04
Post #5





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Cytat(mayu11 @ 24.12.2009, 22:23:24 ) *
Nie znam się na javascript.


To się naucz? Jeżeli chcesz by pojawiała się runda co sekundę to nic innego jak ajax.


--------------------
Go to the top of the page
+Quote Post
mayu11
post 24.12.2009, 22:34:46
Post #6





Grupa: Zarejestrowani
Postów: 99
Pomógł: 9
Dołączył: 9.09.2008

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


Cytat
Cytat
Nie znam się na javascript.


To się naucz? Jeżeli chcesz by pojawiała się runda co sekundę to nic innego jak ajax.


Przyszedłem prosić o pomoc, a nie słuchać ucz się javy.
Jeśli już musiałbym zrobić to javą (w której nigdy nie robiłem) to moglibyście dać mi odnośnik do tego - "Co przydałoby się nauczyć"?

Byłbym wdzięczny.
Go to the top of the page
+Quote Post
Wicepsik
post 24.12.2009, 23:06:20
Post #7





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Nie java, tylko javascript

W sumie to zacznij od podstaw tego języka. Poszukaj kursy w google.

Ten post edytował Wicepsik 24.12.2009, 23:06:34


--------------------
Go to the top of the page
+Quote Post
mayu11
post 24.12.2009, 23:21:24
Post #8





Grupa: Zarejestrowani
Postów: 99
Pomógł: 9
Dołączył: 9.09.2008

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


No więc znalazłem coś takiego:

Kod
setTimeout ( expression, timeout );


Ale co mam umieścić w 'expression'? Ma po prostu chwilę odczekać (1000) i wykonywać skrypt dalej.
Go to the top of the page
+Quote Post
cim
post 24.12.2009, 23:33:40
Post #9





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


Witam,

w miejscu 'expression' najwygodniej jest podać nazwę wywoływanej funkcji JavaScript, a w miejscu 'timeout' czas (w milisekundach) jaki skrypt ma odczekać przed jej wywołaniem.

Teraz w tej funkcji JavaScript z wykorzystaniem AJAX powinieneś wywoływać skrypt PHP, który zrobi te if`y z pierwszego postu etc. i odeśle wynik cząstkowy do przeglądarki.

Pozdrawiam



--------------------
errare humanum est
Go to the top of the page
+Quote Post
mayu11
post 24.12.2009, 23:57:50
Post #10





Grupa: Zarejestrowani
Postów: 99
Pomógł: 9
Dołączył: 9.09.2008

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


Nie działa sad.gif
Znalazłem podobny temat, ale nic nie idzie.


Testowo chciałbym coś takiego:

Co 5 sekund > ustaw napisz na "napis" + "o".
Cytat
Start
napis
Po 5 sekundach
napiso
Po kolejnych 5 sekundach
napisoo
Po kolejnych 5 sekundach
napisooo

Go to the top of the page
+Quote Post
Crozin
post 25.12.2009, 00:11:32
Post #11





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


W teorii mógłbyś to zrobić korzystając z flush, ale nie tędy droga.
1) Po stronie serwera generujesz od razu przebieg całej walki (chyba, że użytkownik może w nią ingerować w jej trakcie)
2) Dane z PHP przekazujesz do JS (tak by ten mógł sobie ładnie dalej na nich operować)
3) Przy pomocy JS ładnie "wizualizujesz" dane (czyli wyświetlasz co jakiś czas jakąś animację/napis - na podstawie otrzymanych danych)
4) Po stronie serwera robisz jeszcze jakieś zabezpieczenie by użytkownik w jakiś tam sposób był zablokowany na czas trwania tych wszystkich tur
Go to the top of the page
+Quote Post
kefirek
post 25.12.2009, 02:45:20
Post #12





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Cytat(mayu11 @ 24.12.2009, 23:57:50 ) *
Nie działa sad.gif
Znalazłem podobny temat, ale nic nie idzie.


Testowo chciałbym coś takiego:

Co 5 sekund > ustaw napisz na "napis" + "o".



Przykład takiej funkcji to
[JAVASCRIPT] pobierz, plaintext
  1. <html>
  2. <head>
  3. <script>
  4.  
  5. var napis = 'napis';
  6.  
  7. var ile=1;
  8.  
  9. function zmien(){
  10. napis = napis + 'o';
  11.  
  12. document.getElementById('wynik').innerHTML = napis;
  13.  
  14. ile++;
  15.  
  16. if(ile > 4){
  17. clearInterval(intervalr);
  18. }
  19.  
  20. }
  21. window.onload=zmien;
  22.  
  23. var intervalr=setInterval(zmien ,5000);
  24.  
  25. </script>
  26. </head>
  27. <body>
  28.  
  29. <div id="wynik"></div>
  30.  
  31. </body>
  32. </html>
[JAVASCRIPT] pobierz, plaintext
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: 16.07.2025 - 13:09