Laurean-Constantin SARAOLU (66981) - LCD Snake

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul este un joc de tip Snake 2D. Obiectivul jocului este cel de a strange un punctaj cat mai mare, jucatorul controleaza sarpele, iar acesta creste in lungime(isi creste punctajul) daca mananca diferite block-uri.

La fiecare 5 block-uri mancate consecutiv, va aparea un block special. Daca sarpele nu mananca block-ul special, acesta va pierde o parte din punctajul sau. Daca reuseste sa manance block-ul special, sarpele va resimti efecte secundare. Acestea sunt: pentru o perioada de timp orice block va avea valoare dubla, pentru o perioada de timp sarpele se va misca in opusul directiei date de catre jucator sau noul cap al sarpelui devine coada sa.

Descriere generală

Inputul pentru ATMega324 este generat de catre butoane. Procesorul va muta capul sarpelui in directia dorita si va actualiza scorul si lungimea sarpelui daca a fost mancat un block.

Hardware Design

Lista pieselor folosite:

  • Componente de baza:
  • ATMega324A-PU
  • Conector USB B Cvilux
  • 16MHZ QMIM016
  • Doua diode Zener
  • Doua LED-uri EL333
  • Doua push buttons
  • Rezistente: 3 * 100R, 3 * 470R, 3 * 1k5, 3 * 10k
  • Condensatoare: 3 * 100nF, 2 * 15pF
  • Componente aditionale:
  • Ecran LCD 128×64
  • Trei conectori de tip panglica
  • Patru push buttons
  • Bareta pini mama
  • Bareta pini tata

Schema implementare:

Software Design

In cadrul implementarii, am respectat urmatoarele puncte:

  • dezvoltarea codului s-a facut in Programmer's Notepad[AVR], iar tool-ul de compilare a fost WinAVR (mod de lucru asemanator cu cel de la laborator)
  • pentru a afisa informatiile necesare pe LCD am folosit biblioteca u8glib
  • singurele structuri folosite au fost vectori de lungime fixa

Rezultate Obţinute

In final, am reusit sa finalizez proiectul. Momentan este doar o versiune dummy a jocului, insa poate fi imbunatatita. Eventualele upgrade-uri ar putea contine:

  • afisarea scorului
  • nivele diferite
  • joc bonus ce va putea fi jucat doar dupa atingerea unui anumit punctaj

Concluzii

In mare parte din timp, dezvoltarea proiectului a fost distractiva si provocarile intalnite m-au ajutat sa invat lucruri noi. Un mare plus pentru activitate a fost ca am avut mana libera la alegerea proiectului. De asemenea, mi-a placut ca dezvoltarea proiectului a putut fi facuta in totalitate de catre noi, inclusiv lipirea componentelor pe placuta.

Download

Bibliografie/Resurse

Resurse software:

Resurse hardware:

  • Documentația în format PDF
pm/prj2017/ddragomir/1234.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