Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul consta in realizarea unui joc Snake afisat pe un ecran LCD si controlat cu ajutorul unui Accelerometru.
Ideea jocului o reprezinta construirea unui traseu al sarpelui astfel incat sa poata aduna cat mai multe puncte
dispersate aleator pe ecran fara a se lovi de el insusi sau de marginile ecranului. Intersectia cu un punct (“mancare”) va avea ca rezultat cresterea lungimii sarpelui cu o unitate.
Se va retine scorul maxim si va putea fi jucat de o singura persoana.
Miscarile sarpelui vor fi determinate pe baza datelor adunate de la accelerometru.
Utilitatea proiectului o constituie dobandirea unor cunostinte noi, in special in ceea ce priveste dezvoltarea partii hardware, proiectul reprezentand practic reprezentand doar o metoda de amuzament.
Miscarea placutei va determina modificarea valorilor corespunzatoare inclinatiilor pentru cele 3 axe, date ce vor transmise microcontrollerului, iar pe baza acestora se va misca sarpele. Rezultatul obtinut va fi afisat pe ecranul LCD.
Lista de piese necesare:
Inainte de inceperea jocului se afiseaza pe tot ecranul sigla PM, imagine stocata pe SD cardul LCDului.
Jocul incepe dupa afisarea imaginii. Sarpele este controlat prin intermediul accelerometrului. In functie de datele adunate de la accelerometru se interpreteaza directia in care se va misca sarpele. Pozitia punctelor de adunat este generata random in zona delimitata pentru joc. La adunarea unui punct se incrementeaza scorul curent iar la finalul jocului se retine scorul maxim obtinut. Jocul poate fi restartat prin tilt.
Biblioteci folosite:
Realizarea proiectului a fost interesanta, de la lipirea compoentelor la programarea microcontrollerului. Avand o memorie mica, a fost foarte folositor pentru a realiza cat de important este modul in care scrii cod (necesita optimizari si eliminarea codului mort pentru a avea loc in memorie :) ). Pentru afisarea imaginii de pe SD card am incercat si afisarea unei imagini raw (rrrrrggggggbbbbb - reprezentarea unui pixel prin 2 bytes in loc de 3) care este mai rapida dar scade mult calitatea imaginii afisate.