Flappy Bird

Email: vasile_adrian.micu@stud.acs.pub.ro

Introducere

Flappy bird cu gravitatie variabila / reversibila.In joc vor fi doua butoane unul cu care pasarea va sari, si unul care inverseaza gravitatea. Gravitatia va creste sau scade in functie de inputul dat de accelerometru.

Descriere generala

Schema bloc

Hardware Design

Listă de componente:

  1. Arduino
  2. breadboard
  3. fire
  4. accelerometru
  5. display LCD
  6. butoane

Conexiuni:

  • Accelerometru:
  1. x→A0
  2. Y→A1
  3. Z→A2
  4. VCC→3,3V
  5. GND
  • LCD:
  1. Led-:GRND
  2. Led+:5V
  3. VCC:3,3V
  4. GRND:GRND
  5. CS:10
  6. CSK:13
  7. CDA:11
  8. A0:8
  9. RESET:9
  • Butoane:
  1. Butonul1:2
  2. Butonul2:3

Diagrama:

Software Design

Librarii folosite

  • Adafruit_GFX.h
  • Adafruit_ST7735.h
  • SPI.h

Variabile si defineuri

birdcol[]: o matrice de 8 X 8 care reprezinta pasarea float GRAVITY=9.8 :acceleratia gravitationala float JUMP_FORCE=2.15 forta cu care “sare” pasarea cateva defineuri pentru dimensiuni :ecran(cat e jumatatea lui,dimensiuneazoneu unde se desfasoara animatia), pasare si teava

Functii

  1. game_init();
  2. game_start();
  3. game_loop();
  4. game_over();

game_init(): initializeaza variabie globale

game_start():initializeaza ecranul de start si asteapta sa se apase butonul din dreapta (albastru ,cu care se sare)

game_loop():se realizeaza jocul in sine se realizeaza animatiile: La Pasare: se umple tot locul unde e pasarea cu culoarea de fundal(cerul=BCKGRDCOL) apoi se deseneaza matricea pasari in noile coordonatele coordonate La Tevi: se deseneaza teava pe noua pozitie si dupa se sterge rezidul care a ramas unde a fost teava(e inlocuit cu BCKGRDCOL) parti ale tevilor ce nu sunt pe ecran nu se coloreaza Functionalitati bonus implementate :

  • daca se apasa pe al doilea buton se inverseaza acceleratia gravitationala si JUMP_FORCE;
  • Tevile sunt generate random in fun ctie de inputul dat de accelerometru;
  • dupa ce pasarea trece de o teava acceleratia gravitationala creste sau scade in functie de inputul dat de accelerometru, dar modulul acceleratiei gravitationale poate fi doar : 9<GRAVITY<10.5

game_over(): afiseaza ecranul de gameover si asteapta sa se apase butonul de jump

Rezultate Obţinute

Concluzii

Download

Jurnal

L-eam facut pe toate in ultima suta de metrii (un weekend )pentru ca piesele vin greu

Bibliografie/Resurse

1.8” TFT Color Display ST7735 128×160: https://youtu.be/NAyt5kQcn-A

Accelerometru: https://youtu.be/Mvn7_Vew12o

PDF

pm/prj2021/agrigore/flappybird.txt · Last modified: 2021/06/04 04:55 by vasile_adrian.micu
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