Flavius-Valentin ANTON - 2048

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul constă în implementarea binecunoscutului joc 2048 pe un ecran de Nokia 3310 (sau mai mare). Ideea mi-a venit, bineînțeles, de la hype-ul creat în jurul jocului (toată lumea a auzit de joc, toată lumea a jucat cel puțin o dată). Scopul proiectului, deși pare unul de tipul “yet another 2048 game”, este de fapt de a realiza prima implementare pe un dispozitiv hardware a sa.

Descriere generală

Jucătorul va ține plăcuța în mână, fiecare mutare va fi sesizată de către accelerometru/giroscop, microcontrollerul va citi periodic datele de la accelerometru și va updata display-ul LCD.

Hardware Design

Piese Număr Preț Sursa
Display Nokia 3310 1 20 lei Okazii
Accelerometru 1 N/A N/A
Rezistențe 3K3 5 1 leu Electronic Components, Maica Domnului
Reizistențe 2K2 5 1 leu Electronic Components, Maica Domnului
1 condensator 100nF 1 N/A Robolab :-)
4 Diode 1N4148 4 2 lei Electronic Components, Maica Domnului
1 placa de test 1 8 lei Electronic Components, Maica Domnului
Total: 32 lei

Software Design

Codul a fost scris în vim, compilat cu avr-gcc și încarcat pe placă folosind exe-ul bootloaderHID oferit la laborator. Pentru afișarea pe LCD am folosit biblioteca de aici: http://www.quantumtorque.com/content/view/32/37/.

Din cauza faptului că ecranul este foarte mic, jocul este practic un 1024 pentru că nu au loc numere de 4 cifre într-o căsuță. Codul este scris destul de modularizat, existând câte o funcție pentru fiecare mutare (up, down, left right), așadar se poate adăuga foarte ușor interacțiune cu utilizatorul (momentan, jocul este doar în AI-mode).

Pentru reprezentarea datelor am folosit o matrice de 4 x 4 de întregi, iar conversia la char* o fac cu o funcție proprie, itoa().

Rezultate Obţinute

Concluzii

Proiectul a fost interesant, mi-a plăcut că în sfârșit am aplicat câteva cunoștințe de la electronică. Din cauza faptului că LCD-ul nu a funcționat până la 2:00am cu o zi înainte de deadline, proiectul mai poate primi îmbunătățiri substanțiale. De asemenea, am renunțat la ideea originală de a avea control cu accelerometru. Primul lucru pe lista de TODOs ar fi adăugarea unor butoane pentru input din partea userului.

Download

<WRAP center round download 60%> 334cb_anton_flavius_2048game.zip </WRAP>

Bibliografie/Resurse

  • Resurse hardware:
  • Resurse software:
    • Biblioteca pentru LCD 37
pm/prj2014/amusat/fanton.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0