Nume: Florea Andrei-Bogdan Grupa: 336CC Nume proiect: Joc de memorie controlat prin gesturi Initial, pe ecran apare un meniu cu 3 optiuni: - Singleplayer - Multiplayer - Leaderboard Cu butoanele de up/down, urmat de apasarea butonului de select, se alege optiunea. Daca este selectat singleplayer, jocul porneste de la nivelul 1. La nivelul N, apar N directii aleatoare pe ecran, iar, dupa terminarea lor, jucatorul trebuie sa repete prin gesturi acele directii, intr-un timp specific nivelului. Daca greseste de 3 ori, sau se scurge timpul, jocul se opreste. Scorul (nivelul) este salvat pe cardul microSD daca este suficient de bun. Daca este selectat multiplayer, jocul incepe tot de la nivelul 1, dar un nivel e consituit din doua runde: un jucator creeaza secventa, celalalt o reproduce, si viceversa. Primul jucator care nu poate reproduce secventa data ce celalalt pierde. Daca este selectat leaderboard, se afiseaza cate 3 intrari din leaderboard-ul salvat pe cardul microSD. Cu butoanele up/down se poate naviga intre cele mai bune 10 scoruri. Jocul este insotit si de efecte sonore cu ajutorul unui buzzer. Probleme intampinate: - dupa ce am inclus bibliotecile, am avut aproape toata memoria RAM ocupata, am fost nevoit sa fac tot felul de optimizari, cel mai important fiind faptul ca am inlocuit biblioteca usor de folosit SD.h cu PF.h, o biblioteca mult mai lightweight pentru controlul cardului microSD. Desi avea suport pentru fisiere, nu am reusit in niciun fel sa deschid un fisier. Am fost nevoit sa folosesc o operatie mai low-level din biblioteca, si anume citirea sau scrierea la nivel de sector. - senzorul de gesturi a inceput la un moment dat sa intre in intreruperi fara sa fac vreun gest; dupa multe cautari, am ajuns sa modific anumiti parametri din biblioteca Sparkfun_APDS9960 pentru a rezolva problema - initial am vrut sa afisez directiile din secventa de reprodus pe o matrice de led-uri, dar nu am reusit sa o fac sa functioneze. O sa mai incerc pana la PM Fair. Totusi, proiectul are sens si cu directiile desenate pe ecran, nu este o diferenta mare. Concluzii Chiar daca a fost destul de frustrant faptul ca am avut problemele mentionate anterior si a durat mult sa deduc cauza si sa le rezolv, sunt multumit de rezultatul final. Cand am gandit proiectul, nu ma gandeam ca o sa fie atat de usor de folosit (eram sigur ca senzorul de gesturi va gresi gestul care este facut, dar nu prea se intampla acest lucru).