Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tic Tac Toe
Forum PHP.pl > Inne > Hydepark
sajsyn
Witajcie.
Jestem początkujący w obsłudze języka PHP.
Jak zapewne się domyślacie, skoro projekt zaliczeniowy, to pewnie i szkoła informatyczna - zgadza się.
Z javascriptowym projektem udało mi się uporać bez potrzeby zwracania się do kogoś. Ale aktualne zadanie jest odrobinę trudniejsze.
"Napisz grę kółko krzyżyk dla 2 graczy. Po rozegraniu 3 partii ustalany jest zwycięzca. Statystyki zapisywane są do pliku na serwerze. Ranking wyświetlany jest na stronie (3 najlepszych)."

Generalnie mam jedynie koncepcję jak tego dokonać. Jak narazie mam jedynie zainstalowany sparkylinux na dysku zewnętrznym, oraz pakiety PHP5, MySQL, PHPMyAdmin.

Samą grę, jestem w stanie stworzyć, Największym moim problemem jest zrobienie jej dla dwóch graczy, gdyż chciałbym zrobić to w ten sposób, aby można było w grę zagrać z dwóch oddzielnych stacji, a nie w jednej przeglądarce.
Skoro jest ranking, muszą być też nazwy, ale odpuszczę sobie rejestracje i listę użytkowników, a jedynie na początku gry chciałbym pobrać od użytkownika nazwę, jaką chciałby się prezentować.

Nie oczekuję na gotowy programik, ale chciałbym dostać jakieś wskazówki.
Czy zmienne muszę zapisywać w jakimś zewnętrznym pliku umieszczonym na serwerze, albo w jaki inny sposób mam przekazywać zmienne między dwoma hostami?


Z góry wielkie dzięki smile.gif
kapslokk
Możliwości masz wiele. Kilka przykładów:

1. Zapisujesz pliki z aktualnym stanem gry na serwerze do pliku / bazy danych, co jakiś czas odświeżasz użytkownikom przeglądarke (np. javascriptem) i pokazujesz aktualny stan.
2. Odpytujesz co jakiś czas serwer AJAX'em i aktualizujesz na tej podstawie stan gry
3. Używasz websockets i w ten sposób odbierasz/wysyłasz ruchy graczy.
Dejmien_85
Są 3 drogi:

1. Najprostsze, zaliczysz na tróję.
Tworzysz za każdym razem partię, później przy odświeżaniu strony pobierasz info o ruchach. Stronę albo ktoś musi samemu odświeżyć, albo dajesz jakiś prymitywny skrypt (JavaScript), który odświeża stronę co X-sekund. Gdybyś takie coś zrobił pracując w jakiejś firmie, to by mieli z Ciebie bekę i wzywali od nooba. biggrin.gif

2. AJAX - wystarczające rozwiązanie.
Pobierasz dane o ruchach AJAX-em, np. co X-sekund wysyłasz ajaxa do API, które Ci zwraca info nt. ruchów graczy. Za takie coś powinieneś na spokojnie zaliczyć na 4, albo może i by Ci ktoś dał 5.

3. Sockety - to idealne rozwiązanie, jednak najbardziej skomplikowane, 5-tka gwarantowana (ale domyślam się, że raczej jeb...ł byś się z tym trochę dłużej).

Najłatwiej będzie Ci zrobić AJAX-a.
Pyton_000
@Dejmien_85 sorry, ale czy nie uważasz że kolega wyżej napisał dokładnie to samo? Więc raczej nie wniosłeś nic nowego wink.gif
sajsyn
Zechciałby ktoś może powiedzieć coś więcej o tych socketach questionmark.gif
Arcioch
Myślę, że ta strona powie Ci bardzo dużo o socketach http://socket.io/
sajsyn
Macie może jakąś polską stronę, która oprowadza początkujących po socketach??
Dejmien_85
Cytat(Pyton_000 @ 13.05.2016, 08:49:25 ) *
@Dejmien_85 sorry, ale czy nie uważasz że kolega wyżej napisał dokładnie to samo? Więc raczej nie wniosłeś nic nowego wink.gif


How dare you! : D

Nie napisałem tego samego, dodałem także opinię nt. jakości danego rozwiązania i oczekiwanej oceny. To dodatkowe, unikalne "ficzery", także ZDECYDOWANIE nie jest to "dokładnie to samo".

Pozdrawiam,
Szerokości,
Dejmien. ; )

Cytat(sajsyn @ 13.05.2016, 19:38:22 ) *
Macie może jakąś polską stronę, która oprowadza początkujących po socketach??


Proszę, tutaj jest wiele stron.
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.