Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] [PHP] Odczekanie
Forum PHP.pl > Forum > PHP
mayu11
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.


camikazee
Nie lepiej byłoby napisać prostą funkcje w javascript z wykorzystaniem setTimeout.
R4D3K
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
mayu11
Nie znam się na javascript.

A co do ilości tur to zależy z jakim przeciwnikiem walczymy.
Wicepsik
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.
mayu11
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.
Wicepsik
Nie java, tylko javascript

W sumie to zacznij od podstaw tego języka. Poszukaj kursy w google.
mayu11
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.
cim
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

mayu11
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

Crozin
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
kefirek
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.