2048 este un joc de tip grid de 4×4 (in versiunea clasica), care are initial 2 numere pe tabla (2 si 2 sau 2 si 4). Scopul este de a obtine intr-o celula 2048, prin deplasari stanga, dreapta, sus si jos. La fiecare deplasare, numerele alaturate si egale se aduna in functie de directie (de exemplu: |4|4| prin deplasare stanga, va deveni |8| |) si intr-o celula libera (aleatoare) va aparea un 2. Jocul se termina atunci cand jucatorul castiga sau cand toate celulele sunt ocupate si nu se mai pot face mutari.
Jocul va fi implementat pe microcontroller, folosind un accelerometru pentru a afla directia de deplasare a celulelor (ex: placuta va fi rotita usor spre dreapta pentru a deplasa elementele la dreapta), 2 butoane (unul pentru a incepe un joc nou si celalalt pentru a opri sau porni muzica de fundal), un buzzer (pentru a reda sunete) si un LCD grafic pe care se va afisa configuratia.
Schema bloc
Pentru dezvoltarea si testarea programului, am folosit compilatorul avr-gcc, o biblioteca pentru desenarea pe un display SPI, una pentru utilizarea accelerometrului si utilitarul bootloadHID.
La inceput, board-ul contine 2 patrate cu elemente de 2 dispuse aleator. La fiecare mutare, se va adauga valoarea 2 aleator intr-un patrat gol. Jocul va incepe din nou la apasarea butonului PB2 sau cand un patrat de pe board contine valoarea 2048.
Documentatie: PDF: 2048
Arhiva proiect: 2048_horodnic_gheorghe_marian_333cc.zip
Biblioteca accelerometru: quadcopter
Biblioteca display: spi_tft_display.zip