Autorul poate fi contactat la adresa: Login pentru adresa
Teeter este un joc clasic in care jucatorul controleaza o bila printr-un labirint, evitand obstacolele si capcanele.
Datele de intrare provin de la accelerometru, utilizatorul controland bila prin inclinarea device-ului pe 2 axe (X si Y). Afisarea este realizata pe un display LCD color.
Lista de piese
Schema electrica
Mediu de dezvoltare
Biblioteci folosite
Schema bloc si cea electrica au fost realizate folosind draw.io, respectiv Autodesk EAGLE.
Provocarea principala in implementarea jocului a fost grafica. Am ales un design minimalist, intrucat memoria limitata nu permitea inmagazinarea prea multor imagini, fara a recurge la un SD card. Am folosit mai multe primitive: imagini reprezentand “lespezile” orizontale si verticale, dreptunghiuri, linii. Capcanele, destinatia si bila sunt desenate folosind o combinatie de cercuri, discuri si imagini dreptunghiulare.
Din punctul de vedere al graficii, implementarea are doua variante, alese printr-un switch de compilare (define-ul REDRAW_ALWAYS). Acesta corespunde unui trade-off dintre performanta jocului si calitatea graficii. Daca se alege a se redesena elementele la fiecare refresh, aspectul jocului este vizibil “framat”.
O alta provocare intalnita pe parcursul implementarii a fost conflictul dintre bibliotecile MPU6050 si UTFT. Acestea folosesc ambele pinii PC0 si PC1 (SCL si SDA). Pentru a rezolva aceasta problema, initializez si dezinitializez biblioteca i2c de fiecare data inainte, respectiv dupa ce preiau datele de la accelerometru.