A 2 player game where each player has to be the first to push their button the right number of times . The number of times the button needs to be pressed is shown by the number of LED's witch light up for a brief moment at the start of each round. The score will be shown on an OLED display. A fun and easy to learn game with the purpose to entertain the players. The buttons will be made with capacitive touch.
The game will started and stopped with a switch and a countdown will begin after witch the game will progress. The various results will be shown on the LCD display.
https://github.com/Tsunami36/Ma-Project2022/blob/main/Main
Am scris codul in mediul de dezvoltare: Arduino IDE. Am folosit urmatoarele biblioteci:
Adafruit_GFX - implementarea functiilor de afisare pe ecran
Adafruit_SSD1306.h - comunicarea intre arduino si ecran
SPI - comunicarea prin SPI Wire Ca variabile globale am: SCREEN_WIDTH 128 SCREEN_HEIGHT 64
randomNumber1 -numarul ledurilor care se va aprinde randomNumber2 -tipul pana cand se vor aprinde ledurile
pushes_p1,pushes_p2-nr de apasari al fiecare jucator
running - variabila booleana care spune daca jocul ruleaza la momentul curent de timp
Functiile implementate sunt:
setup() - initializarea pinilor si a ecranului
loop() -se aprind un random numar de leduri(1-3) dupa un interval random de timp se detecteaza apasarile de butoane, primul player care apasa de un numar corespunzatori de ori castiga runda scorul se actualizeaza, programul o ia de la inceput.
display_score() - afiseaza pe ecran scorul curent al jocului game_over() - afiseaza ecranul de game over atunci cand un jucator ajunge la 3 puncte reset() - functie folosita pentru a reseta scorul
Functionare generala:
In setup() se initializeaza pinii si ecranul OLED. Jocul incepe cand ambii jucatori sunt pregtiti. Timerul intern random incepe si cand se termina un numar de leduri se va aprinde. Primul jucator care apasa butonul de numarul corespunzator de ori primeste un punct
In ecranul de “Game Over” este resetat scorul
Proiectul a fost unul interesant, cea mai grea parte a proiectului a fost sa conectez in mod corect ecranul OLED la Arduino deoarece majoritatea documentatiei este pe I2C. De asemenea, am avut dificultati in a gasi o biblioteca pentru a controla afisarea pe ecran din cod. Intr-un final am obtinut ce mi-am dorit, jocul este functional chiar daca poate fi imbunatatit.
22.04.2022 -Decis tema si concept, realizat primul draft de site.