Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Automatucznie odswierzane pole o ustalonej godzinie, jaka metoda, Jak zrobic podliczanie punktow w grze - PHP
grzemach
post
Post #1





Grupa: Zarejestrowani
Postów: 121
Pomógł: 4
Dołączył: 9.06.2007
Skąd: Kielce

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


Witam,
zanosze sie z zamiarem napisania gry internetowej i zanim sie do tego zabiore musze rozwiazac kilka problemow czysto przygotowawczych, analitycznych itp, jednym z nich jest wybor bazy danych. Wg. mnie lepszym rozwiazaniem jest zastosowanie postgresql-owej bazy ze wzgledu na trigery i inne uzyteczne rzeczy, z bazy nie bede pobieral duzej ilosci danych wiec to nei bedzie problemem. ale problem jest w innej dziedzinie, mianowicje jednym z elementow gry bedzie podliczanie punktow o pewnej (lub pewnych) godzinach, np codziennie o 24 lub o 24 i 12. i teraz zastanawiams ie jak to zrobic, nasuwa mi sie rozwiazanie nie bardzo eleganckie, czyli w skrypcje php wrzuce linijke do sprawdzania daty i jesli skrypt wykryje ze przeszlismy za 12/24 to uruchomi skrypt odpowiedzialny za podliczenie punktow (oczywiscie kilka zabezpieczen aby skrypt nie wywolal sie dwa razy itp bedzie zrobione). ale tak szczerze mowiac wydaje mi sie ze takie cos powinno byc inaczej zrobione, jak byscie Wy to rozwiazali? czy w trigerze sie cos takiego da wrzucic? wydaje mi sie ze trigger uruchamia sie na konkretne zdarzenie tylko, nie da sie go wywolac o ktorejs godzinie, a moze jakas procedurka? tylko jaka?

I jeszcze jedno pytanie, a moze lepiej dac sobie spokoj z Postgresql-em i zrobic to w Mysql a calosc obudowac poprostu w PHP?

ps. nie prosze o gotowca, tylko algorytm


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Masz 'cron'a do takich zadan.

Chyba w PG jest tez jakis scheduler (nie wiem, tak mi sie kojarzy, trzeba sprawdzic)

MySQL tez ma triggery i funkcje skladowane.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
grzemach
post
Post #3





Grupa: Zarejestrowani
Postów: 121
Pomógł: 4
Dołączył: 9.06.2007
Skąd: Kielce

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


dzieki wlasnie tego mi brakowalo, tego slowa 'scheduler' juz sobie wyszukalem wszystkiego i pgsql i mysql ma schedulera smile.gif


--------------------
Go to the top of the page
+Quote Post
yarns
post
Post #4





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 15.06.2005

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


No właśnie... ja mam podobne pytanie... jak do strony programistycznej w tego typu grach jest rozwiązane naliczanie punktów(incrementacja) z jakimś tam interwałem czasowym... Wiadomo że na otwartej stronie punkty podlicza java script, ale jak to wygląda po stronie serwera - czy dane są aktualizowane w momencie odświeżenia strony czy na bieżąco? Jak rozwiązane jest "budowanie" i jakieś kolejki budowania np.: budowanie czegoś tam potrwa 01:33:11 po czym zmienia się przyrost czegoś tam i potem zaczyna się budować coś innego...

Będę wdzięczny za wszelkie odpowiedzi...a jeszcze bardziej za linki do jakiś przykładów gdzie mógłbym obejrzeć tego typu rozwiązania.

Pozdrawiam
Go to the top of the page
+Quote Post
grzemach
post
Post #5





Grupa: Zarejestrowani
Postów: 121
Pomógł: 4
Dołączył: 9.06.2007
Skąd: Kielce

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


moge Ci napisac jak ja mysle (ale jeszcze tego nie implementowalem), narazie mysle o tym jak to zrobic.
wiec, podliczanie punktow zastosuje scheduler, tutaj jest jego opis http://dev.mysql.com/tech-resources/articl...nt-feature.html
a do kolejki budowania to bedzie tak to wygladalo (ktoras z mozliwosci):
1) bedzie stronka np ilosci wydobycia i na niej bedzie przycisk odswiez - po kliknieciu bedzie aktualizowane;
2) zastosuje trigerek, ale tutaj jest maly problem bo triger dziala na dodawanie, modyfikacje itp, a nie zadziala na konczenie odliczania (bo calosc kolejek bedzie w odpowiedniej tabeli), ale mozna zrobic tak ze triger bezie tworzyl schedulera, ktory sie wykona np czasWykonaniaBudowy+2s(lub coskolo tego), tak aby nawet przy jakims lagu uleglo to odswierzeniu;
3) na kazdej stronie bedzie podpiety link do odswierzania kolejki budowania, najmnniej optymalne rozwiazanie gdyz za kazdym razem jedna tabela bedzie musiala byc przeszukana, przez co ok 1s wolniej (moze mniej), ale zawsze o tyle bedzie zwolnione ladowanie strony nie wydaje sie to duzo, lecz co jesli np baza dostanie jakiegos laga? strona bedzie sie latowala duzo duzej o dane ktorych nie potrzebujemy...

mam nadzieje ze chociaz troszke Ci pomoglem smile.gif


--------------------
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 Aktualny czas: 20.08.2025 - 19:58