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
, 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
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