Paula SIMA (25395) - Snake pe LCD Grafic

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul consta in implementarea jocului snake pe un LCD grafic Nokia 5110 84×48:

  • Snake reprezinta un sarpe care creste pe masura ce inghite puncte. Controlul sarpelui va fi realizat prin intermediul a 4 butoane(sus, jos, stanga, dreapta) si va exista si un buton de start joc (butonul din centru). Resetul jocului se va face de pe butonul de reset al placii de baza. Jocul este single player si pe ecran va aparea constant punctajul obtinut de jucator. Am folosit si un led rosu, astfel ca, atunci cand jucatorul pierde, ledul se va aprinde si va fi afisat un mesaj pe ecran.
  • Jocul si-a castigat popularitatea dupa 1998 , cand a fost pus pe Nokia 3310

Descriere generală

Hardware Design

Lista de piese

* LCD grafic Nokia 5110 84×48
* 5 butoane
* 1 led
* regulator de tensiune 3.3V
* condensator electrolitic 16V
* bareta pini tata
* placa de test
* jump wires mama-mama
* 1 rezistenta 470R
* 1 rezistenta 1K

Schema electrica

Software Design

Jocul incepe cu un ecran central si pentru a da start jocului trebuie apasat butonul din centru. In prima faza pe ecran apar doar sarpele reprezentat sub forma unui patratel si un prim punct pe care sarpele trebuie sa il manance. Pe ecran apare si scorul jucatorului. In cazul in care sarpele se loveste de pereti apare mesajul “You lost” si se aprinde ledul. Pentru a incepe din nou jocul trebuie apasat butonul de reset de pe placuta de baza.

Implementare :

 
 *am facut doua structuri : una pentru reprezentarea sarpelui si inca una pentru reprezentarea pozitiilor de pe ecran (coordonatele x si y)
 *metoda direction() seteaza proprietatea direction din structura sarpelui in functie de butonul pe care jucatorul il apasa 
 *in metoda de move() se verifica directia in care trebuie sa se duca sarpele, se verifica coliziunea cu peretii si coliziunea cu punctele pe care trebuie sa le inghita sarpele; sarpele isi va modifica sau nu dimensiunea in functie de coliziunea cu mancarea.
 *in momentul in care sarpele a mancat un punct se face update la scor si este generat urmatorul punct
 *am implementat si metode de desenare a ecranului si a sarpelui

Rezultate Obţinute

sn4_sp.jpg sn5_sp.jpg sn1_sp.jpg sn2_sp.jpg sn6_sp.jpg sn3_sp.jpg

Concluzii

Ideea de a face acest proiect mi s-a parut foarte interesanta. A fost ceva complet nou insa mi-a placut foarte mult si am avut ce sa invat din acest proiect.

Download

Bibliografie/Resurse

Resurse Software

Librarie LCD: nokia_3310_library.zip

Resurse Hardware

Datasheet LCD: datasheet_lcd.pdf

Datasheet ATmega324: datasheet_atmega324.pdf

pm/prj2016/ddragomir/1357.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