Maze Escape

Introducere

Proiectul meu are ca scop implementarea unui joculet de Maze Escape. Acesta este inspirat din jocul cu acelasi nume care a fost in voga in anii 80'

Descriere generală

Jocul are o interfata intuitiva. Initial se deschide printr-un joc de lumini care afiseaza un mesaj dragut 8-o, apoi intampina jucatorul cu primul nivel.

Exista 3 nivele la care se ajunge progresiv. Ultimul nivel este unul mai mult tematic cu initialele PM.

Pentru a termina un nivel este nevoie ca jucatorul sa ajunga cu cursorul sau pe margine, pozitia sa este specificata printr un led care se aprinde si se stinge progresiv. Jucatorul se poate misca in orice directie pe axa xOy, dar si pe diagonala. Daca loveste un perete jocul se termina si acesta priveste un mesaj audio de la buzzer si un joc de lumini de la led-ul rosu. Daca ajunge cu succes la margine acesta o sa primeasca un mesaj audio de la buzzer si un joc de lumini de la LED-ul galben sau verde. LED-ul verde se aprinde daca nivelul a fost terminat intr-un numar minim de mutari, astfel fiind un optimal win. Daca jucatorul nu termina nivelul in numarul de mutari alocate acesta o sa fie intampinat de LED-ul galben care semnifica un marginal win.

Hardware Design

Aceasta este lista completa a componentelor

  • Matrice LED 8×8 MAX7219
  • 3 LED uri, verde, galben si rosu
  • buzzer pasiv
  • Modul Joystick pe doua axe
  • jumper cables FF, MM
  • rezistente de 330 Ohm
  • Breadboard

Am adaugat si notatii pentru ce este folosit fiecare pin

Software Design

Codul a fost realizat in Arduino IDE si am folosit libraria LedControl.H.

Pentru realizarea codului am pornit de la cateva cerinte:

  • Definirea miscarii folosind joystick-ul si calibrarea sa
  • Definirea limtelor precum zidurile si in general tot conceptul de pozitie a unui player/zid
  • Verificari pentru coliziuni, victorie si counter de miscari
  • Programarea output ului sub forma de joc de leduri si semnale sonore.

In realizare acestui proiect am folosti concepte de GPIO, PWM, UART si intreruperi.

Rezultate Obţinute

Jocul este functional si este gata sa intampine un nou utilizator

Concluzii

Acest proiect a fost unul foarte interesant si m-am distrat foarte mult in proiectarea si realizarea sa. E un milestone important pentru mine in cariera de inginer.

Download

Acesta este codul sursa al proiectului. pm_vulpe_mihnea.zip

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

In realizarea proiectului nu am apelat la coduri existente, ci am incercat sa fac un proiect personal desi nu foarte complicat. Am plecat de la implementari simple si am reusit sa ofer functionalitati complete.

Export to PDF

pm/prj2024/amocanu/mihnea.vulpe.txt · Last modified: 2024/05/26 21:02 by mihnea.vulpe
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