Andrei SIMION-CONSTANTINESCU (66916) - Snake Game on LCD
Autorul poate fi contactat la adresa: Login pentru adresa
Introducere
Proiectul presupune implementarea clasicului joc Snake pe un LCD grafic.
Jucătorul este reprezentat de un șarpe aflat inițial în mijlocul ecranului, desenat printr-un număr redus de pixeli. Dimensiunea șarpelui crește pe măsură ce consumă unități de hrană, plasate aleator pe ecran. Cu cât șarpele este mai mare, cu atât scorul acumulat de jucător crește. Jocul se termină atunci când ori șarpele își atinge propriul corp, ori se lovește de un obstacol, pe ecran afisându-se scorul.
Pe măsură ce jucătorul avansează, dificultatea va crește atât prin mărirea vitezei de deplasare, cât și prin apariția unor obstacole.
Totodată, va exista posibilitatea de a selecta prin butoane dintr-un meniu cu 3 intrări:
Cele mai bune scoruri vor fi salvate într-un clasament, care va putea fi vizualizat ulterior.
Scop
Implementarea unui joc clasic, care să permită utilizatorului să se distreze și să se relaxeze.
Ideea de la care am pornit
M-am gândit să realizez un joc clasic, care se găsea pe majoritatea telefoanelor mai vechi, în special cele Nokia, a căror versiune de Snake o consider un reper în implementare.
Utilitate
Personal acest proiect îmi va fi util sper a fi introdus în lumea dispozitivelor embedded, fiind pentru prima dată în facultate când vom construi un aparat concret. Pentru ceilalți este o oportunitate de a-și aduce aminte cu nostalgie de frumusețea acestui joc.
Descriere generală
Schemă bloc
Mod de interacțiune
Utilizatorul poate mișca șarpele prin intermediul a 4 butoane: UP, DOWN, LEFT, RIGHT. Totodată, se poate deplasa prin meniul jocului și poate selecta o opțiune folosind alte 3 butoane: MENU_UP, MENU_DOWN, MENU_SELECT. Jocul este afișat pe un LCD.
Hardware Design
Listă de piese
microcontroller - ATmega324
LCD Display Nokia 5110
butoane de tip push button
rezistențe
conectori de tip mama-mama
plăcută de test
barete de pini
placă de bază
Placă de bază
Schemă electrică
Software Design
Medii de dezvoltare
WinAvr cu Programmer's Notepad, în special pentru a evita make din linie de comandă pe Windows
Sublime Text pentru editare de cod
HIDBootFlash pentru încărcarea fișierului hex
Rezultate Obţinute
Concluzii
Am invatat destul de multe cu ocazia acestui proiect, mai ales pe zona hardware, de care aveam o oarecare teama. Pretul componentelor a fost rezonabil, insa unele se gasesc destul de greu, mai ales daca lasi cumpararea lor pe ultima suta. LCD-ul Nokia este usor de folosit si foarte potrivit pentru acest joc.
Download
Jurnal
Etape
Lipirea componentelor din kit-ul de baza
Achizitionarea de componente: LCD, placa de test
Lipirea componentelor, atat la laborator, cat si de acasa; pe placa de baza am avut nevoie de un regulator 5V-3.3V pentru alimentarea LCD-ului
Testarea software a LCD-ului si a butoanelor
Implementarea jocului
Bibliografie/Resurse
Documentația în format PDF