Codul a fost implementat in ArduinoIDE. M-am folosit de bibliotecile SPI.h si TFT.h pentru LCD.
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.