Snake

Introducere

Poiectul consta in implementarea jocului Snake, un joc cu care multi am copilarit si indragit, astfel ca am incercat sa pastrez aerul original pe care acesta il ofera folosind acelasi set de comenzi(miscare-stanga,dreapta,sus,jos dintr-un joystick/butoane).Scopul jocului este evitarea obstacolelor care constau in pereti si posibil coada sarpelui cand acesta creste, lucru care se realizeaza prin hranirea sarpelui.

Descriere Generala

Modul de funcționare: jucătorul va controla din joystick și va putea urmări pe matricea LED mișcările șarpelui și apariția random a hranei.

Hardware Design

Listă de piese:

  • Arduino Uno
  • breadboard
  • Matrice Led
  • Joystick

Software Design

Pentru acest proiect am folosit libraria LedControl pentru a putea folosi matricea de LED-uri.Locatia sarpelui este aflata de un vector(2D), fiecare subvector continand informatii despre pozitia sarpelui(ce led uri sunt aprinse).De fiecare data cand sarpele mananca un mar dimensiunea lui va creste cu 1.

Jocul poate fi incheiat doar atunci cand sarpele se loveste de el sau atunci cand jucatorul executa o mutare ilegala(sa presupunem ca sarpele merge drept pe verticala si noi dam din joystick in jos).

Peretii nu constituie un obstacol deoarece fiind dimensiunea destul de mica a matricei i-am facut sa nu existe si sarpele trece pe cealalta parte.

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Acest proiect a fost unul foarte interesant/fun de facut deoarece am invatat lucruri noi despre cum sa lucrezi cu o placuta(Arduino) si sa montezi diferite piese.

De asemenea, pentru mine cel putin mereu este o placere sa lucrez la un joc deoarece este cel mai frumos rezultat sa vezi ca acesta poate fi folosit.

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:prj2009:cc:dumitru_alin.

popescu_alexandru_333cb_snake.zip

Bibliografie/Resurse

pm/prj2022/arosca/snake.txt · Last modified: 2022/05/25 18:56 by alexandru.popescu01
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