Adriana Florentina Sandu - Snake

Introducere

Proiectul consta in implementarea jocului Snake pe un LCD grafic.

Descriere proiect

Jocul va fi structurat pe mai multe nivele, trecerea la urmatorul nivel realizandu-se prin atingerea unui anumit scor. Miscarea serpisorului se va face prin apasarea butonului aferent directiei de mers dorita.

Hardware Design

Schema bloc

Din schema reies:

  • componentele de input: butoanele;
  • componentele de output: LCD-ul grafic.

Lista finala de piese

  • kit-ul de componente de baza;
  • LCD Grafic TFT;
  • fire mama-mama;
  • conectori;
  • 4 butoane;
  • placută de test;
  • header pini.

Schema electrica

Software Design

Mediul de dezvoltare

  • IDEE: Atmel Studio 7

Librării și surse

Preluate din laboratorele de PM:

  • spi.h, spi.c pt protocolul SPI;
  • ST7735R_TFT.c, ST7735R_TFT.v pt ecran;
  • usart.c, usart.h pt USART.

Algoritmi si structuri de date

Singura structura de date folosita este cea pentru pozitia sarpelui in coordonate carteziene. Algoritmi: nimic interesant. Este un simplu joc de Snake, ce in functie de scorul pe care il are, mărește viteza de mers a șarpelui. Șarpele crește pe măsura ce mănâncă; se mișcă în 4 direcții: sus, jos, stânga, dreapta - sau cel puțin așa ar trebui, nu merge decât butonul DOWN. Dacă ajungi la nivelul 6, ai câștigat! Dacă îți atingi propriul corp sau atingi pereții (marginile ecranului), pierzi.

Functii implementate

Vezi codul din arhiva.

Rezultate Obtinute

Rezultate foto ale proiectului

Hardware:

Ecran start:

Joc:

Ecran final joc:

Rezultate video

Concluzii

A fost un proiect interesant (chiar dacă nu am reușit să fac toate butoanele să meargă =)) la care mi-a făcut plăcere să lucrez. Partea software nu a fost greu de implementat. Nici cea hardware. Trebuie sa mentionez că nu m-am așteptat să nu îmi meargă butoanele de direcție.

Download

Arhiva cod

Jurnal

  • 23 mai: Completarea acestei pagini.
  • 23 mai: Tot nu merge decât butonul DOWN. Am dezlipit butoanele, le-am relipit altfel, am încercat toate porturile și combinațiile posibile și tot nu merge. :(
  • 22 mai: Nu merge decât butonul DOWN ⇒ șarpele se miscă într-un singur sens.
  • 22 mai: Scrierea jocului.
  • 22 mai: Atașarea ecranului LCD.
  • 14 mai: Lipirea plăcuței de test.
  • 2 Mai: Milestone 3 - Schema electrică a proiectului: atins
  • 24 Aprilie: Milestone 2 - Finalizare placă de bază: atins
  • 19 Aprilie: Milestone 1 - Tema proiectului, lista de piese și schema bloc, crearea paginii de wiki: atins

Bibliografie/Resurse

Resurse Hardware

Resurse Software

  • Laboratoarele 0, 1 și 5 de PM.
  • Jocuri Snake deja implementate

Download page in PDF: Snake

pm/prj2019/adragan/snake2019_xyz.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