Sergiu-Adrian LAZĂR-ANGELESCU (66918) - Snake4Ever

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

  • Implementare joc Snake pe LCD.
  • Scopul acestui joc este de entertainment si de a oferi relaxare utilizatorilor.
  • Am dorit sa implementez un joc deoarece mi-a placut laboratorul cu pong si am ales snake deoarece a fost jocul meu preferat din copilarie.
  • Jocul va cuprinde mai multe feature-uri in plus fata de cel clasic in care se mareste lungimea sarpelui prin 'consumarea' de 'hrana'.

Descriere generală

Hardware Design

Lista de componente:

  • placa de baza cu Atmega324;
  • fire conectoare mama-mama;
  • fire conectoare tata-mama;
  • regulator de tensiune;
  • placa de test;
  • 4 butoane;
  • bareta de pini tata;
  • LCD grafic Nokia 5110;
  • condensator electrolitic 16V;
  • rezistente de 1K, 10K;

Schema electrica este urmatoarea:

Software Design

Jocul porneste cu un ecran principal, iar utilizatorul trebuie sa apese butonul orice buton pentru a-l porni. Am implementat mai multe nivele, iar nivelul se schimba dupa ce sarpele mananca 6 bucati de hrana. Initial harta nu are niciun obstacol, apoi cu fiecare nivel apar alte obstacole si creste viteza de deplasare a sarpelui. Daca sarpele atinge un obstacol sau marginea ecranului se trece la ecranul de finish si se afiseaza scorul si nivelul. Pozitia mancarii si a obstacolelor este generata random la fiecare etapa.

Am utlizat:

  • biblioteca de Nokia 3310
  • mediu de dezvoltare: AVR Studio

Rezultate Obţinute

Am reusit sa implementez jocul in sine, atat versiunea clasica, cat si cea cu obstacole.

Concluzii

Atunci cand eram mic mi-au placut mult acele console electronice cu jocuri si atunci cand am ales aceasta facultate am visat sa pot ajunge sa implementez ceva similar. De asemenea, Snake a fost jocul meu preferat pe telefon in copilarie. Faptul ca am avut ocazia sa implementez acest proiect reprezinta o mare reusita pentru mine, mai ales deoarece este primul proiect care imbina atat partea de software, cat si pe cea de hardware pe care l-am realizat. Acest proiect m-a ajutat sa imi largesc orizonturile in ceea ce priveste cariera mea si sunt recunoscator pentru acest lucru.

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2017:avoinescu:dumitru_alin.

Jurnal

  1. Lipit componente placa de baza
  2. Cumparat componente necesare
  3. Lipit componente aditionale necesare
  4. Testare hardware
  5. Implementare software
  6. Testare software

Bibliografie/Resurse

pm/prj2017/avoinescu/snakegameupdated.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