This is an old revision of the document!


Snakecube3d

Introducere

  • Florea Radu
  • 332CD
  • Indrumator: Razvan Virtan

Inspirat de jocul clasic Snake și dorind să aduc o nouă dimensiune acestei experiențe, am conceput SnakeCube 3D. Acest proiect implică crearea unui cub de led-uri care servește ca platformă de joc tridimensională, unde jucătorii controlează un “șarpe” luminos.

Utilizând un joystick și două butoane, jucătorii pot naviga prin spațiul tridimensional al cubului de led-uri, încercând să evite coliziunile cu marginile cubului sau cu propriul corp al șarpelui. Mișcarea șarpelui este simulată printr-o succesiune de lumină care se deplasează pe suprafața cubului, oferind o experiență vizuală captivantă.

SnakeCube 3D reprezintă o îmbinare între hardware și software, folosind Arduino pentru a controla afișajul de led-uri și interacțiunea cu jucătorul. Scopul acestui proiect este de a aduce o reinterpretare modernă a jocului Snake, aducând o nouă dimensiune și o experiență vizuală fascinantă în lumea jocurilor tradiționale.

Descriere generală

Utilizatorul poate comunica cu cubul de leduri prin intermediul joystick-ului si a celor 2 butoane

  • joystick-ul mișcă șarpele pe Oy-Oz
  • butoanele comuta între dimensiuni pe Ox

Hardware Design

În realizarea proiectului voi folosi:

  • MEGA 2560 R3
  • 48 led-uri
  • 2 butoane (pe pinii 2 si 19)
  • 1 Joystick Module (Pe A0 si A1)
  • 1 ecran lcd 1602 cu I2C (pe pinii de SCL si SDA 20 si 21)

+ multe alte beculete pe pinii 21-53

Am inceput prin lipirea led-urilor intre ele. (dupa multe incercari de a le lipi pe o sarma, am trecut la rezistente pentru structura de rezistenta=). Am lipit catodul fiecarui beculet intre ele si le-am conestat la arduino prin becurile din colturi astfel incat rezistentele folosite pentru sustinere, nu influenteaza=)

Apoi am facut cablajul si le-am pus fiecaruia dintre ele cate o rezistenta , apoi am conectat la mega si lcd-ul cu joystick-ul pentru a incepe sa pot scrie software-ul

M-am decis ulterior sa pun o singura rezistenta pentru toate led-urile


Software Design

Link pentru repo-ul de Git: GitHub

Am început cu un joc clasic de Snake, la care am adăugat două butoane pentru a permite jucătorului să comute între trei niveluri ale cubului. De asemenea, am integrat melodia iconică Nokia, care se redă atunci când jucătorul pierde.

În ceea ce prhttps:ocw.cs.pub.ro/courses/lib/images/toolbar/hequal.pngivește logica jocului, jucătorul începe cu un șarpe de lungime 2. Obiectivul este să caute și să consume mere, care apar pe hartă. De fiecare dată când șarpele consumă un măr, lungimea acestuia crește cu 1 unitate. Jocul se încheie atunci când capul șarpelui intră în coliziune cu oricare parte a corpului său. Scorul, care reprezintă numărul de mere consumate, este afișat pe ecranul LCD.

pm/prj2024/rvirtan/snakecube3d.1716378623.txt.gz · Last modified: 2024/05/22 14:50 by radu.florea
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