close
17949774431_c62ceef102_o

W tym wpisie przechodzimy już to implementacji funkcjonalności naszej gry. Stworzymy w bazie danych nową tabelę, która będzie przechowywać statystyki graczy a następnie zajmiemy się systemem dodawania statystyk za złoto w grze. W tym celu napiszemy klasę GameManager, która będzie zawierała metody dotyczące funkcjonalności gry.

Na początku przejdźmy do bazy danych i utwórzmy nową tabelę o nazwie stats. Posłuży ona do przechowywania statystyk. Wygląda ona tak:

tabela statystyk

Możesz kliknąć na powyższy obrazek by go powiększyć. W tabeli przechowujemy:

  • id użytkownika – identyczne jak w tabeli users
  • hp – punkty życia gracza,
  • attack – atak gracza
  • defense – obrona gracza
  • gold – złoto gracza
  • points – punkty gracza

Możemy teraz przejść do klasy ModuleLoader i uzupełnić moduł, który ładuje treść na stronie statystyki:

Powyższy kod tworzy listę, na której wyświetlane są wartości poszczególnych statystyk z bazy danych. W każdym punkcie listy wyświetlany jest odpowiedni obrazek i nazwa statystyki wraz z wartością. W punktach ŻycieAtak oraz Obrona jest przycisk. Klikając na niego będziemy zwiększali tą statystykę.

Przejdźmy teraz do pliku style.css i dodajmy style do tej listy. Na końcu pliku dodaj poniższy kod:

Style mogą być dowolne. Możesz wykorzystać te lub napisać swoje 🙂

Stwórzmy teraz klasę GameManager, w której metoda updateStats będzie aktualizowała statystyki. W folderze Managers utwórz plik o nazwie GameManager.class.php i wklej do niego poniższy kod:

To cała zawartość pliku GameManages.class.php. Na początku sprawdzane jest czy gracz ma wystarczająco złota by podnieść statystykę na wyższy poziom. Jeśli ma to baza danych zostaje zaktualizowana. Jeśli nie to zwracamy false.

Możemy teraz przejść do pliku wlasny.js i dodać kod jQuery odpowiedzialny za wysłanie żądania. Przed zamykającymi znacznikami }); dodaj poniższy kod:

Całość zawiera komentarze, które tłumaczą co się dzieje. Korzystamy tutaj w wtyczki Smoke. Możesz ją pobrać z tej strony. Musisz go jeszcze podpiąć w odpowiednim module w klasie ModuleLoader, ale ja to w tym wpisie pominę 🙂

Żądanie zostaje wysłane pod adres updateStats więc stwórzmy teraz plik updateStats.library.php w folderze LIBRARY.

Plik updateStats.library.php:

Plik jest bardzo podobny do register.library.php. Dodajmy jeszcze ścieżkę do niego w klasie MainPage. Pod ostatnim case dodaj poniższy kod:

Od teraz zapytanie już działa. Musimy teraz jeszcze uzupełnić metodę CreateUser w klasie UserManager. W tym momencie rejestrujący się użytkownik nie tworzyłby rekordu w tablicy stats. Dopasujmy więc kod. Metoda CreateUser wygląda teraz tak:

 

Dodane zostało zapytanie do bazy danych, które dodaje rekord w tablicy stats.

I to wszystko. Dodawanie statystyk już działa 🙂

Paczkę możesz pobrać tutaj.

Gotowy przykład możesz zobaczyć tutaj.

Tags : ajaxjqueryphpstatystykitworzenie gry przeglądarkowej