Autor: Salcie Ioan-Cristian
Seria: CA
Grupa: 332
E-mail: cristisalcie@yahoo.com
Este un joc X si 0 clasic, efectuat pe leduri RGB. Se va controla folosind 5 butoane, 4 pentru selectie si 1 pentru a confirma pozitia.
Scopul acestui proiect este de a ma familiariza cu Arduino prin implementarea unui joc simplu și cunoscut.
Este important sa ne facem timp si pentru a ne relaxa din cand in cand, iar proiectul meu poate fi folosit cu acest scop.
Pentru implementarea software al jocului meu am folosit Visual Studio Code. Am un singur fisier in care am scris toate functiile necesare care sunt folosite in bucla. Limbajul folosit este C++. Pentru folosirea pinilor de pe I2C am folosit biblioteca PCF8574.
Am obtinut un joc Tic Tac Toe pe led-uri (multiplayer).
Avem 5 butoane, ce indica directia si selectia.
De asemenea, 9 led-uri RGB care se aprind cu rosu si/sau albastru care indica jucatorul curent.
La inceputul primului joc, am adaugat un efect de test pe leduri in care se aprind toate led-uri in culoarea mov (rosu + albastru) pentru 2 secunde indicand ca functioneaza.
Cand un jucator selecteaza vom avea o animatie de clipire (“Blink”) al led-ului curent cu culoarea jucatorului curent. Pentru a putea ajunge intotdeauna la toate led-urile, ambi jucatori vor putea itera doar peste un led neaprins sau aprins de catre oponent (caz in care led-ul va face clipire de la culoarea rosu/albastru la mov dar daca se va selecta acea casuta jocul se va comporta la fel cu exceptia ca acea casuta nu va fi selectata si va ramane randul aceluiasi jucator de a alege).
Cand un jucator castiga, se va stinge animat linia care a creat castigul (o linie castigatoare va avea 3 led-uri asadar animatia consta in stingerea primului led, asteptarea unui interval de timp, stingerea urmatorului led si asa mai departe, urmat de reaprinderea lor in aceeasi ordine cu aceeasi culoare, cea a castigatorului).
Dupa aceasta animatie urmeaza o alta animatie in care toata tabela devine aprinsa in culoarea castigatorului (incepand de la primul led pana la ultimul, va exista un interval de timp intre devenirea fiecaruia in culoarea castigatorului sarindu-se o casuta care este deja aprinsa in culoarea respectiva).
Daca avem remiza, se aprind si se sting toate ledurile o singura data.
A fost un proiect interesant care m-a ajutat sa imi dezvolt cunostintele in dezvoltarea unui proiect hardware.