Table of Contents

Snake Game

Introducere

Descriere generală

Cu ajutorul unui breadboard și al firelor, cele patru componente: plăcuța Arduino, joystick-ul, matricea cu leduri și buzzer-ul sunt conectate. Jucătorul va controla snake-ul cu ajutorul joystick-ului și va încerca să strângă cât mai multe puncte prin a mânca luminițele de pe traseu. Buzzer-ul va scoate un sunet la pierderea jocului care se va întâmpla dacă șarpele atinge marginile matricei.

Hardware Design

Componente hardware:

  1. Matrice de leduri
  2. Arduino Uno
  3. Buzzer
  4. Breadboard
  5. Fire
  6. Joystick
  7. MAX7219 Driver
  8. Potentiometru
  9. Ecran LCD

Software Design

Actualizarea și Mișcarea Șarpelui:

Meniuri și Interfață:

Funcții Importante:

  1. playGame(): Gestionează logica principală a jocului.
  2. showIntro(): Afișează introducerea jocului.
  3. showMenu(): Afișează meniul principal și permite navigarea prin opțiuni.
  4. Update(): Actualizează starea șarpelui și a mărului.
  5. Render(): Redă (desenează) jocul pe matricea de LED-uri.
  6. calculateDeltaTime(): Calculează timpul trecut între cadre pentru a controla viteza jocului.
  7. removeFirst(): Elimină prima parte a corpului șarpelui pentru a simula mișcarea sa înainte.

Rezultate Obţinute

Pe matricea de leduri apare un model initial. Apăsarea joystick-ului duce la începerea jocului. Un snake format inițial din două cercuri luminoase se deplasează pe matrice și este controlat de către jucător cu ajutorul joystick-ului. La începutul jocului se poate auzi un cântecel, un sunet scurt se aude la mâncarea merelor, apare câte unul pe rând în locuri random. Șarpele crește odată cu mâncarea punctelor lumninoase și își pierde viața dacă își atinge propriul corp. La pierderea jocului se va auzi un sunet mai lung și mai puteric.

Concluzii

Mi-a făcut plăcere să lucrez cu ceva nou și să pot implementa un joc clasic care mi-a plăcut foarte mult în copilărie.

Download

Jurnal

2.05 - Alegerea temei proiectului

9.05 - Prezentarea pieselor pe care urma sa le utilizez

12.05 - Legarea pieselor hardware

13.05 - Intocmirea documentatiei pentru partea de hardware

16.05 - Prezentarea celui de al-doilea milestone

19.05 - 21.05 - Scrierea codului

23.05 - Prezentarea ultimului milestone

Bibliografie/Resurse