Pong Game v2.0
Calcan Elena-Claudia
331CA
Introducere
Joc interactiv de pong 1v1 in care jucatorii se deplaseaza folosind butoane. Fata de jocul clasic, jucatorii
au posibilitatea de a controla directia bilei prin colectarea unui element de pick-up aparut in timpul jocului.
De asemenea, in timpul jocului pot aparea obstacole astfel incat sa ii incurce pe cei doi jucatori.
Descriere generală
Schema Bloc:
Jocul este implementat pe o placuta Arduino Uno, afisarea realizandu-se pe un display. Controlul jucatorilor se face prin intermediul butoanelor, existand si un buton special pentru schimbarea directiei bilei. Exista si un buzzer pentru a semnala coliziunile bilei cu terenul si obstacolele si cand atunci cand un jucator inscrie.
Hardware Design
Lista piese:
Schema electrica:
Software Design
Mediul de dezvoltare folosit: Arduino IDE.
Biblioteci folosite:
Wire.h
SPI.h - folosit pentru comunicare SPI
Adafruit_GFX.h - se foloseste pentru functiile de afisare pe ecran
Adafruit_SSD1306.h - folosit pentru comunicarea intre arduino si display
Implementare
Inainte de de incepera jocului este afisat un meniu ce contiune optiunile jocului. Optiunile reprezinta punctajul pana la care se poate juca, acestea fiind: 3, 5 sau 7 puncte.
Navigarea prin meniu si alegerea optiunii se realizeaza prin intermediul butoanelor celui de al doilea jucator.
Dupa ce optiunea este selectata, jucatorii se pot pregati de joc in timp ce bara de loading se incarca pana la 100%.
Jucatorii sunt reprezentati de cate o bara verticala, mingea de un pixel, obstacolele de patrulatere de diferite dimensiuni, iar elementul de pick-up de un cerc.
Jucatorii se deplaseaza doar pe axa OY, iar mingea pe XOY.
Desfasurarea jocului
La inceputul fiecarei runde se alege random in ce directie porneste bila.
Jucatorii trebuie sa isi apere peretele din spatele fiecaruia, astfel daca mingea o loveste se pune punct pentru adversar.
Pe parcursul jocului se afiseaza scorul curent si cate elemente de pick-up au colectat jucatorii. De asemenea, apar obstacole si elemente de pick-up, pe pozitii random din ecran.
Elementul de pick-up apare pe teren dupa o anumita perioada de timp dupa colectarea acestuia. Atunci cand un jucator ia un element de pick-up, atunci el are posibilitatea de a schimba directia de mers a bilei atunci cand vrea. Elementul este luat de un jucator daca bila a fost lovita de acesta inainte.
Obstacolul isi schimba pozitia si dimensiunea dupa ce este lovit de minge sau la inceperea unei noi runde. Atunci cand bila loveste obstacolul, acesta ricoseaza.
Jocul se termina atunci cand unul dintre jucatori ajunge la numarul maxim de puncte, selectat din meniu.
La sfarsit se afiseaza pe display castigatorul si se sarbatoresete castigul lui prin redearea unei piese la buzzer. Pe urma se trece din nou la pagina de meniu.
Rezultate Obţinute
Reprezentare imagini
1. Stanga sus → circuit electric
2. Dreapta sus → pagina de meniu in care se doreste selectarea cifrei 5
3. Stanga jos → bara de loading
4. Dreapta jos → desfasurare joc
Aici se poate gasi un Demo.
Concluzii
Proiectul a fost util pentru a intelege legatura dintre hardware si software si cum sa le combin rezultand astfel un produs palpabil.
Download
Resurse