Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL][PHP]Własna gra przeglądarkowa, Jak się do tego zabrać
Tho
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 26.07.2011

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


Czy są jakieś strony które "generują" grę według moich potrzeb i wystawiają mi skrypt do wstawienia na serwerze? Co muszę wiedizeć by samemu stworzyć taki skrypt?

Czy są jakieś biblioteki, które mi to ułatwią?

Czyli będzie to raczej trudne?

Ten post edytował Tho 11.10.2011, 14:52:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


A ja nie wątpię w myśl zasady: skoro widziałem mojego wujka 10 lat temu i od tego czasu nie mam z nim kontaktu, a umarł 5 lat temu to ja nic o tym nie wiem i dla mnie on nadal żyje, dopóki nie będę chciał go odwiedzić bezpośrednio, albo ktoś inny się o tym nie dowie i mi o tym nie powie (IMG:style_emoticons/default/wink.gif) . Jednak poczekam, aż wypowiedzą się mądrzejsi ode mnie, bo nie wiem czy to ma sens.

No zakładając utopijny scenariusz chciałbym, aby 100% użytkowników było na stronie ten raz w tygodniu w ciągu 20 minut, więc wtedy obciążenie serwera w scenariuszu utopijnym równoważy się dla opcji nr 1 i 2. Jednak jeżeli będzie tylko 20% osób, to mam 80% oszczędności dla reszty. A i tak muszę dać refresh 60 sekund, żeby ta zmiana była widoczna. Bo co z tego, że Cron się wykona 20 razy(20 minut), jak nie odświeżyłem strony od 3 minuty, to będę widział tylko akcje do 3 minuty, więc skoro będzie refresh przy 60 sekundzie, to od razu się załaduje funkcja. Jedynie w bazie będę miał aktualne dane. Ale na co komu aktualne dane w bazie, skoro nikt ich nie wyświetla i są z zewnątrz niewidoczne.

Cron jest wygodny, bo wszystko mam już w bazie. A tak muszę dopisywać przed każdą akcją w której będzie wyświetlony jakiś rekord z bazy który został zmodyfikowany podczas trwania akcji (a zawsze będzie modyfikowany) funkcję, która mi sprawdzi czy czas tej akcji już się powinien odbyć i jeżeli powinien się odbyć to zaktualizować dane. Tylko czy jest sens iść tym tokiem myślenia?

W przypadku podglądu zdarzenia online, sprawa jest prosta: refresh 60 sekund na stronie gdzie są wyświetlane dane i jeżeli data aktualna jest równa dacie startu wydarzenia to następuje odpalanie funkcji aż do czasu gdy funkcja została odpalona 20 razy. Dobrze myślę?

Ale co w przypadku podglądu zdarzenia które powinno być wykonane przykładowo wczoraj? W funkcji mam już zrobione, że ma przechodzić do kolejnej akcji dopiero po 1 minucie(nawet jak ktoś odświeża stronę co 5 sekund gdy jest online w trakcie zdarzenia), a kończyć się jeśli liczba minut(akcji) zdarzenia wyniosła 20. Tylko jak w takim wypadku, przyspieszyć wykonanie tego skryptu, żeby od razu po wejściu na to zdarzenie wyświetlone były dane z bazy po wykonaniu zdarzenia? No bo przecież to wydarzenie realnie powinno mieć przypisane dane z ostatniej akcji bo realnie już się zakończyło, a będą pokazane dane z 1-szej akcji, bo po wejściu na to wydarzenie funkcja wykona się jeden raz. Bo jeśli umieszczę ten sam kod, to po wejściu na zdarzenie pokażą mi się dane tylko po 1akcji, oczywiście nie muszę czekać 60sekund na pojawienie się danych po 2akcji itd. tylko klikając 20 razy odśwież w ciągu 30 sekund, ukażą mi się kolejne akcje po każdym odświeżeniu (bo data początku tego zdarzenia + 20*60 sekund jest mniejsze od aktualnej daty i nie blokuję tego odstępu 60 sekund), ale to jest strasznie złe, przecież nikt nie będzie klikał 20 razy F5, żeby zobaczyć końcowy efekt zdarzenia. Powinno być tak, że po wejściu na to zdarzenie, wyświetlają się dane końcowe (po 20 akcji/minucie). Tylko jak? Pętla? Jak dam pętlę która zawsze ma się wykonać 20 razy po wejściu na już zakończone zdarzenie, to znowu obciążę serwer.

Ten post edytował Damonsson 12.10.2011, 02:00:03
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 16:07