Autorul poate fi contactat la adresa: daniela.mormocea@gmail.com
Proiectul consta in implementarea jocului cu dinozaurul T-Rex de pe Google Chrome ce apare atunci cand nu exista conexiune la internet. Scopul proiectului este de a intelege mai bine materia si de a pune in practica notiunile invatate pana acum, construind totodata si un alt instrument de pierdut vremea.
Schema bloc a proiectului:
Jocul presupune un player care va folosi butoane pentru a controla un dinozaur ce trebuie sa evite obstacole (adica sa sara), evolutia sa fiind prezentata pe un ecran LCD.
Piese necesare:
Pentru partea de Software am folosit functiile din biblioteca data de LCD-ul Nokia 5110, in special pentru colorarea pixelilor in desenarea t-rex-ului si a obstacolelor, precum si in afisarea de text pe ecran. Pe langa acestea, am folosit o functie ISR unde tratez intreruperile pentru butoane. Butoanele sunt responsabile pentru afisarea a 3 pagini, PB2 fiind meniul, PB1 - butonul de jump, iar PB5 afisarea de scoruri (maxim si curent).
Jucatorul apasa pe PB2 iar jocul incepe, obstacolele miscandu-se spre t-rex. Cu ajutorul butonului PB1 utilizatorul sare peste obstacole. Coliziunile sunt detectate in momentul in care t-rex-ul atinge dreptunghiul in care este incadrat obstacolul. Este afisat constant scorul in partea de sus a ecranului. Cand utilizatorul pierde, apare pagina de Game-Over, cu scorul maxim si cel curent. Apasand pe PB5, utilizatorul se intoarce din nou la meniul principal. Mai mult, butonul de Reset sterge toata activitatea si reseteaza jocul.
De fiecare data cand t-rex-ul sare se va auzi un sunet scurt de la buzzer, implementat folosind TIMER0 pentru a obtine un frame-rate mai bun. La sfarsitul jocului buzzer-ul va scoate un “SOS” in codul morse.
Toate functionalitatile merg bine. Am avut dificultati la buzzer pentru sunetul scurt de jump, precum si la desenarea obstacolelor si t-rex-ului.
Proiectul a fost interesant. M-a ajutat sa inteleg mai bine materia PM si sa realizez ca nu as mai vrea sa fac astfel de lucruri in continuare. Poate ar fi fost mai util sa fi incercat sa fac o masinuta teleghidata.
Codul sursa se poate gasi la linkul urmator:
20 aprilie - Tema proiect + schema bloc
21 aprilie - Comanda componente
4 mai - Schema electrica in EAGLE
11-12 mai - Conectare LCD, butoane si buzzer la placuta
22-23 mai - Scriere cod