Jocul 2048 este un joc puzzel arhicunoscut, acesta este format dintr-o tabela de 4×4 patrate in care apar aleator numerele 2 si 4 iar scopul este sa se ajunga la puteri ale lui doi cat mai mari prin insumarea a doua numere adiacente egale aflate pe tabela cand acestea sunt miscate intr-o directie sau alta. Mai multe detalii gasiti aici.
Proiectul va presupune afisarea jocului pe un LCD aflat pe placa presupune ca jucatorul sa incline dispozitivul stanga-drepta, fata-spate ca numerele sa se miste pe tabela. Miscarile vor fi detectate de catre un accelerometru dar va exista un interval de timp pana cand se va efectua miscarea pe tabela ca jucatorul sa aiba timp sa actioneze.
ATmega324 va prelua informatiile de la accelerometru, va interpreta miscarea si va afisa noua configuratie pe LCD, asta se intampla pana cand nu s-a ajuns la 2048 sau jucatorul s-a blocat, in acest caz se va afisa ca el a castigat sau a pierdut. Va exista de asemenea si un buton de reset pentru a relua jocul.
Piese | Cantitate | Distribuitor |
---|---|---|
Placa de baza PM 2017 | 1 | Echipa de PM |
LCD PCD8544 | 1 | Optimus Digital |
Accelerometru ADXL345 | 1 | Optimus Digital |
Comunicatia dintre placa si LCD se face prin SPI iar cea dintre placa si accelerometru prin I2C.
Joc functioneaza complet, numerele apar aleator in matricea jocului iar jucatorul inclina placa in directia in care doreste sa miste numerele. Jucatorului i se da un interval de 1 secunda intre inregistrarile miscarilor. Cand se termina jocul lumina LCD-ului se stinge si se aprinde de 5 ori in 10 secunde pana se afiseaza mesajul “You win!” daca s-a ajuns la 2048 sau “Game over!” daca nu se mai pot efectua miscari in nicio directie si continua sa alterneze lumina.
Sincer cred ca puteam sa fac un proiect mai bun dar semestrul acesta a fost destul de aglomerat. Nici macar eu nu sunt impresionat de proiectul meu dar consider ca asta a fost la indemana mea sa realizez.
Resurse: pantelimonsilviugeorge331cb_v2.zip