Piano Tiles
Nume: Bîncă Andreea-Cristina
Grupa: 332CC
Introducere
Piano Tiles este un joc muzical în care obiectivul jucătorului este să apese pe butoanele corespunzătoare în momentul indicat prin aparitia unor blocuri colorate ce coboară pe ecran. Atunci când un astfel de bloc ajunge în partea de jos a ecranului, acesta trebuie apăsat, iar jocul va emite o notă muzicală, în funcție de melodia aleasă.
Descriere generală
În momentul în care jocul este pornit, jucătorul este întâmpinat de un meniu, din care poate alege să joace sau doar să asculte melodiile.
Jucătorul va avea la alegere mai multe melodii. Selecția va fi făcută prin intermediul unui joystick.
În implementarea jocului sunt folosite 4 butoane ce trebuie apăsate la momentul corect conform afișării de pe ecran, în ton cu muzica redată printr-un buzzer (se va aprinde și un led albastru în același timp). În momentul în care se apasă un buton greșit, se aprinde un led roșu, semnificând o viață pierdută. Dacă se ajunge la 3 leduri aprinse, jocul este pierdut.
Hardware Design
Componente
Schemă electrică
Software Design
Mediu de dezvoltare
Biblioteci utilizate
Implementare
În fișierul piano_tiles.h sunt definite macrourile pentru input-uri, variabilele pentru butoane, joystick, display, template-uri pentru afișarea pe ecran, melodiile și sunt definite funcțiile de play și listen.
În fișierul piano_tiles.ino sunt implementate funcțiile:
setup()
se setează pinii de input/output;
se configurează display-ul;
se inițializează bufferele.
loop()
se selectează din meniu PLAY sau LISTEN folosind joystick-ul pe axa OX și apăsând pe acesta;
se selectează cântecul dorit SONG 1 sau SONG 2 folosind joystick-ul pe axa OY și apăsând pe acesta;
în cazul în care s-a ales funcția de PLAY va porni jocul pe cântecul ales;
în cazul în care s-a ales funcția de LISTEN va porni redarea cântecului ales.
play_song(...)
se generează pe ecran linie cu linie cântecul și se verifica apăsarea butonului corespunzător tile-ului care urmează să ajungă pe ultima linie;
dacă s-a apăsat la timp, buzzer-ul va cânta, iar un led albastru se va aprinde;
dacă s-a apăsat greșit sau deloc, se va aprinde un led rosu, semnificând o viață pierdută;
dacă se ajunge la finalul cântecului, va apărea pe ecran mesajul GAME WON!;
dacă se fac 3 greșeli, va apărea pe ecran mesajul GAME LOST.
listen_song(...)
Rezultate Obţinute
Meniul:
Functia de joc:
Functia de redare:
Demo în arhivă.
Concluzii
În cadrul proiectului am învățat să folosesc noțiunile predate în laboratoare, dar și din aprofundarea personală.
Rezultatul a fost un joculeț drăguț, care în viitor poate fi îmbunătățit.
Download
Jurnal
05.05.2022 - Testare componente și realizare schemă electrică
13.05.2022 - Actualizare pagină ocw
17.05.2022 - Definitivare implementare hardware și începerea implementării software
23.05.2022 - Implementarea unui cântec
24.05.2022 - Implementare parțială a meniului
26.05.2022 - refacere cod și implemetare nouă de cântece
27.05.2022 - Definitivarea codului + actualizare pagina ocw
Bibliografie/Resurse