Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

AJAX card game
Vezi mesajul original
Du-te la pagina 1, 2  Următoare
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> AJAX
Subiectul anterior :: Subiectul următor  
Autor Mesaj
ExcalIbvr



Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea

Trimis: Vin Feb 10, 2006 4:44 pm    Titlul subiectului: AJAX card game  

Am facut un mic pet-project pe care v-as ruga sa-l testati. Nu e bug-free, asa ca va rog sa "thread lightly".

Este vorba de un joc de carti. Mai exact, e vorba de jocul Razboi. Principiul de functionare este urmatorul:
- se impart cartile in mod egal intre jucatori
- in fiecare tura, fiecare jucator pune o carte
- cartea cea mai mare duce
- castiga jocul cel care are cele mai multe puncte (1 pct. se face cand castigi o runda)

Features:
- joc multiplayer - chemati-va prieteni, vecini, etc. si jucati impreuna
- mai multe jocuri pot rula simultan pe server
- intr-un joc pot juca 2 sau 4 jucatori

Tehnicitati:
- PHP 5 / MySQL 4.1.16 pentru business logic
- XML / XSLT pentru view logic
- AJAX pentru fluidizare

Bug-uri cunoscute:
- aplicatia nu raspunde intotdeauna la primul click, uneori chiar da eroare la "Draw card", de exemplu. Isi revine ulterior.

Ce va rog sa raportati:
- alte bug-uri
- viteza cu care merge jocul
- alte chestii utile

Ah, da... JOCUL
Sus  
carco



Data înscrierii: 27/Mai/2004
Mesaje: 2796
Locație: Bucuresti

Trimis: Vin Feb 10, 2006 6:44 pm    Titlul subiectului:  

Cand accesezi direct
http://82.79.151.137/cards/play_game.php
ERRNO: 8 TEXT: Undefined index: nickname LOCATION: /var/www/[cendored]/play_game_top.php, line 7
Mai multe nu am reusit sa vad, desi am pornit un joc din Firefox si am incercat sa intru cu IE ca al 2-lea user nu vedeam nici un joc. (in Linux daca are vreo importanta)
Sus  
ExcalIbvr



Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea

Trimis: Vin Feb 10, 2006 6:56 pm    Titlul subiectului:  

Right. Am notat.
Dar faza cealalta nu prea are sens...
Sus  
carco



Data înscrierii: 27/Mai/2004
Mesaje: 2796
Locație: Bucuresti

Trimis: Vin Feb 10, 2006 7:22 pm    Titlul subiectului:  

ExcalIbvr a scris:
Dar faza cealalta nu prea are sens...
Am vrut sa joc "eu cu eu", adica cu Firefox sa fiu un jucator si cu IE al doilea si nu a mers. ("no active games")
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2309
Locație: Bucuresti

Trimis: Vin Feb 10, 2006 9:11 pm    Titlul subiectului:  

Idem em@il si nu am cu cine sa joc...
am incercat aceeasi faza (logic) ca si em@il am deschis jocul in opera si am copiat adresa in ie (ca sa joc eu cu eu...) si da aceeasi eroare...
verifica si tu daca sunt setate variabilele inainte sa te folosesti de ele (e mai sigur...) si eventual concepe o varianta sa pot juca eu cu serverul...

apoi am vrut sa vad daca macar vad jocul deschis de mine pe opera da nici asta nu vad (in ie)
Sus  
Pirahna



Data înscrierii: 22/Aug/2004
Mesaje: 4355
Locație: la birou

Trimis: Vin Feb 10, 2006 10:07 pm    Titlul subiectului:  

nu ai facut si un mini-a.i. ?

un bot care sa stea p-acolo sa bage si el un random ceva ?
Sus  
ExcalIbvr



Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea

Trimis: Vin Feb 10, 2006 10:17 pm    Titlul subiectului:  

Ma uit maine sa vad de ce au aparut toate chestiunile astea.
Nu am introdus AI pt. ca scopul a fost efectiv de-a face un mic proof of concept: mai multe jocuri simultan, fiecare joc cu pana la 4 jucatori.
Revin maine cu un reply cand va merge bine.

P.S. Stiti ca accesarea nepermisa a resurselor care nu va apartin, prin Internet (adica hackeritu') se pedepseste cu inchisoare de la 3 la 7 ani? Daca aveam ceva pretios acolo, riscam sa-mi public IP-ul? Of of...
Sus  
Tudy



Data înscrierii: 22/Sep/2004
Mesaje: 479
Locație: Cluj-Napoca, Romania

Trimis: Sâm Feb 11, 2006 12:40 am    Titlul subiectului:  

Poi daca tot ai postat jocul, trebuia sa-l urci undeva unde sa stea online tot timpu. Nu poti stii la ce ora vrea lumea sa il vada.

De ex, acuma nu merge :cry:
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2309
Locație: Bucuresti

Trimis: Sâm Feb 11, 2006 12:59 am    Titlul subiectului:  

Tudy a scris: Poi daca tot ai postat jocul, trebuia sa-l urci undeva unde sa stea online tot timpu. Nu poti stii la ce ora vrea lumea sa il vada.

De ex, acuma nu merge :cry:

offtopic
Sti tu treaba aia cu tehnologia standby probabil omu e econom :P

ontopic
are dreptate tudy, ar trebui sa il pui pe un server online ca sa il putem vedea la orice ora poate ne plictisim si vrem sa ne jucam
Sus  
ExcalIbvr



Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea

Trimis: Sâm Feb 11, 2006 9:16 am    Titlul subiectului:  

Nu am un server real cu PHP 5, sorry. Azi va fi online, toata ziua.
Am reparat bug-ul si acum merge bine. Era sa cad de pe scaun de ras, cand am descoperit unde era problema! :lol: Campul id dintr-un tabel players, unde stochez jucatorii, era tinyint unsigned, auto_increment, si ajunsese la 255 :D .

Inca niste informatii utile:
- cel care creeaza jocul poate sa-l porneasca ("Start game") doar cand in joc sunt atatia jucatori cat s-a selectat la crearea jocului (2 sau 4).
- dupa fiecare runda apare castigatorul rundei, iar cel care-a creat jocul da click pe un buton ("Next round") si se trece la runda urmatoare.
- am mai redus din carti, sa nu fie chiar tot setul de poker. Aunt 24 acum, deci 12 runde in 2 jucatori, respectiv 6 runde in 4 jucatori.

Enjoy!
Sus  
ExcalIbvr



Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea

Trimis: Sâm Feb 11, 2006 12:11 pm    Titlul subiectului:  

E destul de lent, dar daca aveti rabdare sa asteptati un pic dupa fiecare click, jocul se poate testa si aici: http://cristian.nexcess.net/ajax/cardgame/
Sus  
carco



Data înscrierii: 27/Mai/2004
Mesaje: 2796
Locație: Bucuresti

Trimis: Sâm Feb 11, 2006 12:48 pm    Titlul subiectului:  

I'm in :)
1. cand Join pe un game am "Draw card" enable (ar trebui sa fie disable, eventual un mesaj cu "asteptati ca autorul jocului sa "Start Game""

2. Din cauza latentelor induse de modul de lucru AJAX, ar tb. sa introduci niste "stegulete" de semnalizare altfel stau si ma uit ca bou' si nu stiu daca mai trebuie sa astept ceva sau nu.
Ceva de genul:
Click Start Game
- faci vizibil un div cu "asteptati...." (eventual disable la ce butoane mai sunt p'acolo)
- faci request-ul catre server
- la sosirea raspunsului reactivezi butoanele si ascunzi div-ul cu asteptati

3. Tot apasand draw card apare cate un "alert":
"Can't connect to server.
ReferenceError: Can't find variable: UserId"

Nu mai stiu pe ce am apasat (am dat refresh ca initiator de joc, si mi-a retransmis variabilele post) insa mi-a aparut in joc un al treilea jucator desi jocul era de 2 persoane. Aceasi situatie si cand un jucator a apasat Draw Card: sa nu mai poata apasa inca o data pana cand nu apasa si ceilalti parteneri. (daca apasa, apare alert-ul cu eroarea)

Am mai sapat putin si eroarea acea apare atunci cand runda s-a incheiat si jucatorul 2 (nu cel care a pornit jocul) apasa pe Draw card in loc sa astept ca juc.1 sa dea Next Round. La fel, cand s-a terminat rounda ar tb. sa-i dai disable la butonul Draw card pana cand starteru' da Next round.
Sus  
ExcalIbvr



Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea

Trimis: Sâm Feb 11, 2006 1:52 pm    Titlul subiectului:  

1. Chiar nu apare la tine asa? Pentru ca asa e...

2. Am introdus 8) Check it out.

3. Yup, cu asta-mi bat capul acum...

Merci! :)
Sus  
carco



Data înscrierii: 27/Mai/2004
Mesaje: 2796
Locație: Bucuresti

Trimis: Sâm Feb 11, 2006 1:59 pm    Titlul subiectului:  

1. ca al doilea jucator intram cu Konqueror, nu stiu de ce nu apare draw disabled. Cu Firefox intr-adevar apare disabled.
Ia incearca in loc de (na ca ti-am furat sursa :) )
Cod:
<button name="draw_card" id="draw_card" onclick="DrawCard('rsgkmrrj2n4l779ru0ru4si864', '371');" disabled="disabled">
   Draw card
</button>

sa pui varianta simpla: <button name="draw_card" id="draw_card" onclick="..." disabled="disabled" value="Draw card" />
2. alta viata, Super!
3. apare in continurare dar nu am dispozitia necesara sa zgarm prin surse. Iti las tie placerea ;)
Sus  
ExcalIbvr



Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea

Trimis: Sâm Feb 11, 2006 4:42 pm    Titlul subiectului:  

Well, se pare ca <button> are neaparat nevoie de </button>, iar varianta cu value="Draw card" nu merge. Apare un ciot de buton, cativa pixeli acolo numa', fara nici un text...

In schimb, am rezolvat problema de la sfarsitul jocului, care nu calcula bine scorul castigatorului.

De asemenea, nu mai apare eroarea cu userId. De fapt, asta cu userId era o ramasita de la o varianta anterioara a codului -> am schimbat unele chestii, dar se pare ca nu peste tot.

Oricum, acum merge si merge bine.

De asemenea, la sfarsitul fiecarui joc se sterg din baza de date toate informatiile despre jocul respectiv.

:)
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> AJAX Du-te la pagina 1, 2  Următoare
Pagina 1 din 2


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community