This is an old revision of the document!
Pentru interfata utilizatorului va fi folosit un afisaj grafic LCD. Utilizatorul va putea juca folosind doua butoane de directie (stanga, dreapta). Pentru restart va fi folosit un senzor de atingere. Daca jucatorul ajunge la FINISH, se vor aprinde leduri de culoare verde. Daca pierde jocul, se vor aprinde leduri rosii.
Piese necesare:
Codul a fost implementat in ArduinoIDE. M-am folosit de bibliotecile SPI.h si TFT.h pentru LCD. Functii: * drawRunner() : Afiseaza player-ul pe ecran - dreptunghiul verde * drawObstacle() : Afiseaza obstacolul pe ecran - dreptunghi rosu * updateRunner() : Actualizeaza pozitia player-ului - il misca in functie de apasarea butoanelor stanga/dreapta * updateObstacle() : Actualizeaza pozitia obstacolului, care se apropie de player. Cand iese din ecran, va fi repozitionat aleatoriu la inceput si creste scorul player-ului. * shootBullet() : Tragerea glontului e activata de atingerea senzorului. Glontul pleaca din pozitia player-ului in momentul tragerii. * drawBullet() : Afiseaza glontul pe ecran - un dreptunghi mic albastru. * updateBullet() : Acutualizeaza pozitia glontului, deplasandu-l spre directia din care vin obstacolele. Daca glontul iese din ecran este dezactivat. Daca glontul atinge obstacolul, obstacolul dispare (este repozitionat la inceput) si creste scorul * checkCollision() : Verifica daca player-ul se ciocneste de obstacol. In cazul coliziunii scade numarul de vieti. Cand se termina vietile, se afiseaza ecranul "Game Over" alaturi de scor. * displayScore() : Afiseaza permanent scorul si numarul de vieti in timpul jocului. * setup() : initializeaza ecranul TFT, configureaza pinii de intrare si iesire * loop() : Programul principal. Verifica in bucla daca senzorul tactil e atins pentru declansarea glontului. Actualizeaza player-ul, obstacolul, glontul si scorul si verifica coliziunile intre obiecte.