Catalin, asemenea functii de verificare sunt intalnilnite si pe alte softuri de sah, si aici iau ca exemplu faimosul playchess. Cum? L-am intrebat pe bogho care mi-a spus ca a folosit asemenea functii, existente in C++ sau Java, care scaneaza procesele ce ruleaza pe calculator si daca in lista exista vreunul din programele banate se suspenda partida de sah.
Astazi dimineata am primit un mesaj privat de la bogho care mi-a transmis cum ar gandi el tot modulul de sah:
Partea de server si web-page vor avea in mare parte componentele:
- administrare useri (inregistrare, modificare date,... adminul poate sterge, bloca,... useri)
in mare parte datele unui user vor fi: id, nume, prenume, nick, email, parola,...
prov (daca userul vrea sa poata primi provocari, atunci acest camp va fi TRUE, in caz contrar FALSE)
punctaj (ratingul unui user)
- vizualizare partide de sah live si din arhiva.
pentru cele din arhiva se va crea un modul astfel incat mutarea sa aiba loc la un click de mouse, sau daca userul vrea poate
vedea sub forma de slideshow cu o mutare efectuata la x secunde
Pe site va putea fi vizibila doar desfasurarea live sau arhiva a meciului.
- provocari
provocarile, in principiu se pot face din pagina de profil a userului. Daca userul X vrea sa provoace la o partida pe userul Y.
atunci se va duce in pagina de profil a userului Y. Daca acesta are activata optiunea "Pot primi provocari", atunci in pagina respectiva va fi un buton "Provocare".
Anularea unei provocari se poate face din pagina de provacari a fiecarui user. Aceasta pagina va avea doua componente:
a) provocati de tine, unde vor apare provacarile facute de user. De aici poate anula o provocare;
b) provacari catre tine, unde vor fi afisate provocarile facute catre user. De aici poate accepta sau respinge o provocare.
- turneu
N jucatori se pot inscrie in turneu. Partidele din acest turneu vor fi generate automat, in functie de un algoritm specificat
si vor aparea in pagina fiecarui user la categoria "Partide de disputat". Va exista desigur si o componenta "Partide jucate".
.....
- Alte componente ce ar putea fi instalate:
chat.
Pentru orice partida se poate downloada / trimite prin email o desfasurare text sau animatie.
- Partea de client, "stand-alone application" va fi o aplicatie realizata de exemplu in VC++ sau Java.
Prin intermediul acestei aplicatii se desfasoara o partida de sah. Ambii combatanti vor juca prin intermediul aplicatiei.
In cazul in care chatul va exista pe site, atunci va fi si aici o componenta pentru chat (va fi real time astfel incat ce apare pe chat in site sa apara si in aceasta componenta)
In principiu aceasta aplicatie va functiona ceva de genul. Userul se logeaza in aplicatie, folosind datele din bd.
Dupa logare, ii vor fi afisate datele, partidele jucate, etc...
Poate provoca un alt user, poate incepe o partida din cele ce urmeaza a fi jucate(daca se va tine cont de data si ora de desfasurare, atunci nu va putea da start decat la urmatoarea partida de disputat).
De asemenea, prin intermediul aplicatiei se va putea verifica rularea in timp real a altor aplicatii ajutatoare
(numele acestor aplicatii vor fi luate la logare, din baza de date. astfel incat orice noua aplicatie va fi introdusa doar in baza de date, nefiind nevoie de download-ul unui fisier)
......
Fiecare astfel de componenta va avea mai multe subcomponente, in functie de necesitati si cerinte.
--------------------
Desi pare complicat, nu e chiar asa greu de facut!
E o problematica de morala. Cine vrea sa fie nesimtit, poate!