Table of Contents

Andrei BRATU (78698) - Snake

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul va fi un joc snake pe LCD. Jucatorul controleaza un sarpe, ce se deplaseaza in fiecare secunda o casuta in directia de mers. Acesta creste in lungime intrand in anumite casute de pe harta, alese la intamplare de fiecare data cand una este atinsa. Scopul jocului este de a rezista cat mai mult si a obtine un scop cat mai mare. Ideea de la care am pornit este jocul disponibil pe multe din telefoanele mai vechi. Implementarea sa va fi utila pentru invatarea si intelegerea unor concepte, pe cand in forma sa finala va reprezenta unul din cele mai cunoscute jocuri de mobile, apreciat de foarte multa lume.

Descriere generală

Input-ul va fi preluat si procesat de catre ATMega, acesta urmand sa modifice afisarea de pe LCD corespunzator. Diversele date ale jocului ce necesita stocare persistenta sunt mentinute pe cardul SD, acesta fiind controlat in intregime de catre procesor. Speaker-ul va functiona in legatura directa cu starea jocului, deeci si acesta este controlat de procesor.

Hardware Design

Software Design

Mediu de dezvoltare: Atmel Studio 7.0

Librarii externe: driver ili9341

Aplicatia este impartita in doua parti: un meniu de unde se alege urmatoarea harta si unde se poate asculta putina muzica si jocul propriu-zis.

Parcurgerea meniului este de fapt parcurgerea unui vector ce are salvate identificatorii fiecarei hari si afisarea acestora pe LCD.

Sarpele este realizat folosind o lista simplu inlantuita: de fiecare data cand se colecteaza un pick-up, se mai aduaga un element la lista. Obstacoloele sunt retinute intr-o lista asemanatoare, fiind redate doar daca identificatorul hartii proprii este selectat.

Rezultate Obţinute

Videos:

oETjqOOsU-c

GtGYvLA1RTU

csVVWE0nj1Q

Concluzii

Un proiect la care mi-a facut placere sa lucrez si din care am invatat lucruri utile

Download

Arhiva: bratu_andrei_331cc_snake.zip

Jurnal

Bibliografie/Resurse

Libraria pentru LCD: ili9341-library-drive-22-tft-displayderived-adafruit-tft-library-ili9340-type-controller

Datasheet Atmega324: doc8272.pdf

De asemenea, am folosit cod din laboratoarele de pm (laboartoarele 4 si 5)

Muzica este descarcata de la warsongs