Jocul de “X si 0” se desfasoara pe o tabla de 3 x 3 si se poate juca in doi jucatori. De obicei, incepe jucatorul care reprezinta “X” (in cadrul proiectului meu acesta fiind Rosu). Scopul jocului este ca un jucator sa obtina o linie, coloana sau diagonala “colorata” cu simbolul propriu.
In realizarea acestui proiect am adaptat jocul clasic de “X si 0” pentru a functiona pe o matrice de leduri bicolore (rosii - verzi). Asadar, am considerat X ca fiind rosu si 0 ca fiind verde.
De asemenea, un jucator trebuie sa aibe posibilitatea de a-si alege casuta pe care vrea sa o marcheze, acest lucru fiind realizat prin intermediul a 5 butoane - 4 pentru deplasare (sus, jos, stanga si dreapta) si 1 pentru selectia finala a casutei. Pentru ca jucatorul care e la mutare sa stie ce casuta este selectata momentan, ledul va licari folosind culoarea asociata jucatorului.
Pe langa piesele necesare placutei de la etapa I, mai trebuiesc adaugate urmatoarele:
Schema electrica a placutei de la etapa I:
Schema electrica a ledurilor si butoanelor:
Pentru implementarea surselor am folosit ca sistem de operare Ubuntu 11.10.
Fiecare led a fost retinut intr-o structura “led” in care retin pinii si adresa porturilor atat pentru culoarea rosie, cat si pentru verde. Aceste leduri au fost organizate intr-o matrice de 3×3.
Pasii executati atunci cand se apasa un buton de miscare:
Pasii efectuati la apasarea butonului de selectie a led-ului:
Odata ce jocul se incheie, daca cineva a castigat tabla se aprinde in culoarea castigatorului. Daca nu a castigat nimeni atunci niciun led de pe tabla nu va fi aprins.
Se poate opta pentru inceperea unui nou jos prin apasarea butonului “SUS”.
Sursele proiectului sunt urmatoarele:
De asemenea in cadrul arhivei se gaseste si un fisier Makefile, care la rularea comenzii make va compila si va scrie fisierul rezultat pe microprocesor.
Proiectul realizat este functional. Am adaugat mai jos o serie de poze cu acesta in diferite faze ale tablei de joc.
Am adaugat si urmatoarele resurse:
Listă cu documente, datasheet-uri, resurse Internet folosite: