Autor: GRIGORE Irina-Domnica
Tema proiectului consta in implementarea jocului X si 0 pe un ecran LCD cu touchscreen. Am ales aceasta tema deoarece imi doresc sa utilizez notiunile acumulate deja in cadrul laboaratoarelor pentru a realiza un joc cunoscut de toata lumea.
Nume | Numar |
---|---|
Arduino Uno | 1 |
Modul LCD SPI de 2.8'' cu Touchscreen | 1 |
Breadboard | 1 |
Rezistente 2.2kOhm | 7 |
Rezistente 5.1kOhm | 7 |
Fire | 25 |
Am conectat GND si VCC de pe ecran la pinii GND, respectiv 5V de pe Arduino, iar restul pinilor i-am conenctat astfel:
Ca si structura de date am folosit un vector de int-uri pentru a retine starea tablei. Pentru inceput desenez primul ecran cu ajutorul functiilor din libraria Adafruit_GFX.h. Dupa un delay prestabilit apare cel de-al doilea ecran unde jucatorul este pus sa aleaga X sau 0. In acest moment, programul asteapta ca ecranul sa fie atins, iar in functie de coordonatele x si y determina ce buton a fost apasat. In continuare, daca jucatorul a apasat pe X, pe ecran se va afisa mesajul “Player VS Arduino”” ceea ce inseamna ca player-ul incepe jocul, iar daca a apasat pe 0, mesajul afisat va fi “Arduiono VS Player”, iar in acest caz arduino va incepe jocul, mai exact este apelata functia playGame(). Pentru ca arduino sa marcheze o casuta de joc, se retin pozitiile libere din vector, apoi se alege random una dintre aceste pozitii, iar in cazul player-ului in functie de coordonatele x si y determinate in urma atingerii ecranului, se verifica in ce casuta se incadreaza, iar apoi este desemnat semnul corespunzator pe ecran. Casutele sunt marcate pana cand numarul mutarilor disponibile ajunge la maxim sau pana cand pe linie/coloana/diagonala se afla numai X sau numai 0. Dupa terminarea jocului pe ecran va aparea un buton care permite reluarea jocului. Daca acesta este apasat, sunt reinitializare variabilele folosite, iar jucatorul este pus din nou sa aleaga.