T-Rex Dyno este un joc de tip endless runner inspirat din joculetul pe care il ofera browser-ul Google Chrome in momentul in care pica conexiunea la Internet. Utilizatorul are ca scop principal evitarea obstacolelor, iar pe masura ce inainteaza, scorul acestuia va creste.
Utilizatorul este intampinat cu o pagina de meniu in care are ca alegeri inceperea unui joc nou si consultarea paginii cu setari (aceasta contine setari de dificultate, sunet).
Navigarea intre meniuri se realizeaza unidirectional (in momentul in care se ajunge la ultima optiune si se doreste inaintarea la urmatoarea, atunci se va reseta) prin intermediul unuia dintre senzori IR, iar alegerea optiunii se realizeaza prin cel de-al doilea senzor.
In timpul jocului, utilizatorul va folosi senzorii IR pentru a se feri de obstacole (pasari, cactusi): cel din partea stanga initiaza ghemuirea, iar cel din partea dreapta initiaza saritura. Aceste actiuni sunt acompaniate si de niste efecte sonore redate prin intermediul buzzer-ul activ. Viata jucatorului este indicata pe ecran, dar si prin cele 3 LED-uri rosii (acestea se sting in momentul in care jucatorul pierde din viata).
Pentru a oferi portabilitate sistemului, am conectat o baterie de 9V cu rol de alimentare.
Circuitul poate fi alimentat fie prin USB (de la Laptop), fie prin power jack de la bateria externa de 9V.
Asteapta ca senzorul sa detecteze obstacol, dupa care asteapta indepartarea obstacolului.
Modifica viata si actualizeaza starea LED-urilor indicatoare.
Aici este implementat jocul propriu zis; verifica coliziunile, actualizeaza animatiile, deplaseaza obstacolele, actualizeaza scor, afiseaza sprite-urile.
Initializeaza LED-urile si buzzerul ca iesiri si senzorii IR ca intrari. Incarca high-score din EEPROM, face seed la generatorul de numere random si afiseaza splash screen.
Realizeaza tranzitiile dintre meniuri si joc. Apeleaza functiile de render_ corespunzatoare care au rol de a afisa scena curenta (meniu principal, optiuni sau joc).
Proiectul m-a facut sa realizez cate lucruri interesante se pot face cu un arduino si cateva componente simple.