Cetin RAŞID (24962) - Joc Snake pe LCD

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul va consta in realizarea jocului Snake pe un LCD grafic 128 x 64. Pe langa jocul clasic de Snake, vor exista niveluri si diverse obstacole. Jocul este de tip single player. Controlul se va realiza prin intermediul a 4 butoane care vor reprezenta cele 4 directii posibile :stanga, dreapta, sus, jos.
Scopul proiectului este de a invata cum interactioneaza diverse piese pentru a crea un joc.

Descriere generală

Schema bloc:

Jocul va debuta cu un ecran de start. Pornirea jocului se va face prin apasarea butonului care indica directia dreapta. Miscarea sarpelui se va simula cu ajutorul a 4 butoane, ce vor permite acestuia sa se deplaseze stanga, dreapta, sus, jos. Scopul jocului este de a termina toate nivelurile. Fiecare nivel, se va caracteriza printr-un numar diferit de obstacole. Un nivel este pierdut atunci cand sarpele atinge un obiect sau isi atinge coada.

Hardware Design

Lista de piese:

# Componentele de baza:
    * microcontroller ATMEGA324
    * soclu microcontroller
    * stabilizator de tensiune
    * diode ZENER
    * mufa USB
    * condensator 100nF
    * condensator 15pF
    * rezistenta 1K
    * rezistenta 1K5
    * rezistenta 10k
    * rezistenta 100k
    * rezistenta 470k
    * quartz
    * 2 butoane
    * 2 leduri
 # Componente aditionale:
    * LCD grafic
    * 2 leduri verzi
    * 2 rezistente 470k
    * 4 butoane
    * bareta pini mama-mama
    * placa de test
    * fire conectoare

Software Design

Jocul debuteaza cu un ecran principal. Pentru pornirea jocului, se apasa tasta din stanga. Jocul prezinta aceleasi reguli ca jocul clasic de snake. Au fost adaugate obstacole si diferente de viteza pentru sporirea dificultatii. Cu cat se inainteaza mai mult in scor, in scena apar noi obstacole iar viteza sarpelui creste sau scade. Sarpele are voie sa isi atinga propriul corp, singurele restrictii sunt de a nu parasi suprafata ecranului sau de a nu intra in contact cu obstacolele puse. Harta se genereaza dinamic si random.

Obstacolele si hrana sunt generate aleator. La fiecare generare se verifica a nu se suprapune obiectul actual generat cu celalalte obiecte. Obiectele sunt desenate cu latura 3, mancarea cu latura 2 si bloc-urile din care e format sarpele tot cu latura 2. La fiecare pas, se verifica noua directie a sarpelui si se updateaza sarpele in harta, dar inainte de acest lucru se verifica situatiile de coliziune.

Rezultate Obţinute

 Vedere Spate

 Vedere Perspectiva

 Afisat Start

 Start

Concluzii

Proiectul a fost interesant. Am invatat destul de multe lucruri, rezultatul obtinut este unul satisfacator.

Download

Bibliografie/Resurse

Resurse Hardware

Resurse Software

pm/prj2016/csoare/joc-snake-lcd.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