Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:abirlica:jumping_game [2021/05/30 16:45]
adrian.florea2502
pm:prj2021:abirlica:jumping_game [2021/05/30 18:17] (current)
adrian.florea2502
Line 7: Line 7:
  
 ===== Descriere generală ===== ===== Descriere generală =====
-Proiectul consta in implementarea unui simplu joc, folosind un ecran LCD, butoane si un buzzer. Ecranul LCD este conectat la microcontroller printr-un modul I2C. Jucatorul poate alege dificultatea jocului, care se refera la viteza de deplasare a personajului. La apasarea de butoane sau la diverse evenimente ale jocului, buzzerul este setat cu anumite melodii / sunete.//+Proiectul consta in implementarea unui simplu joc, folosind un ecran LCD, butoane si un buzzer. Ecranul LCD este conectat la microcontroller printr-un modul I2C. Jucatorul poate alege dificultatea jocului, care se refera la viteza de deplasare a personajului. La apasarea de butoane sau la diverse evenimente ale jocului, buzzerul este setat cu anumite melodii/​sunete. 
 {{:​pm:​prj2021:​abirlica:​block_design_af336cb.png?​700|}} {{:​pm:​prj2021:​abirlica:​block_design_af336cb.png?​700|}}
  
Line 26: Line 27:
  
 {{:​pm:​prj2021:​abirlica:​af336cb_diagrama.png?​800|}} {{:​pm:​prj2021:​abirlica:​af336cb_diagrama.png?​800|}}
 +
 +{{:​pm:​prj2021:​abirlica:​af336cb_diagrama2.png?​500|}}
 +
 +void setup() ​
 +             - seteaza pinii pentru buzzer, selectare dificultate,​ saritura (JUMP button);
 +             - creaza obiectele pentru scena folosind initializeGraphics()
 +             - loop in functia menu() pana cand utilizatorul alege o dificultate,​ dupa care programul trece in loop()
 +             - porneste lcd-ul declarat global
 +
 +void loop()
 +             - in functie de dificultatea aleasa apeleaza functia principala draw_func(int delay_time)
 +             - delay_time se refera la viteza cu care se actualizeaza scena
 +
 +void menu()
 +             - parseaza prin setarile de dificultate pana cand se foloseste butonul de jump pentru a incepe jocul
 +
 +void beginning()
 +             - printeaza mesajul de inceput al jocului, inainte de selectarea dificultatii
 +
 +void draw_func(int delay_time)
 +             - daca jucatorul nu a avut o coliziune, primeste input de la butonul de jump
 +             - daca s-a intamplat o coliziune, jocul se blocheaza si asteapta input pe jump
 +             - altfel scena se shifteaza la stanga constant folosind functia advanceTerrain()
 +
 +bool drawHero(byte position, char* terrainUpper,​ char* terrainLower,​ unsigned int score)
 +             - verificarea coliziunii dintre personaj si scena
 +             - afiseaza personajul si animatiile sale
 +
 +void advanceTerrain(char* terrain, byte newTerrain)
 +             - afiseaza piese in scena si genereaza parti noi
 +
 +
 +PIN 4: select\\
 +PIN 3: buzzer\\
 +PIN 2: jump\\
 +<​note>​
 +Biblioteca folosita pentru comunicarea I2C este atasata in sectiunea [[:​pm:​prj2021:​abirlica:​jumping_game#​Bibliografie/​Resurse]].
 +</​note>​
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
Line 38: Line 77:
  
 <note tip> <note tip>
-{{https://​youtu.be/​vlh2DuX1jmI|DEMO}}+{{https://​youtu.be/​vlh2DuX1jmI| ​< < DEMO > > }}
 </​note>​ </​note>​
  
pm/prj2021/abirlica/jumping_game.1622382317.txt.gz · Last modified: 2021/05/30 16:45 by adrian.florea2502
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