This is an old revision of the document!


Tower Stack

Autor: Rusu Bianca-Ana-Maria 336CA

Introducere

Proiectul constă într-o adaptare a jocului Tower Stack pe un ecran LCD.

Descriere generală

Scopul jocului este de a construi un turn cât mai înalt din piese.

Piesele vin de sus, iar poziția lor poate fi controlată folosind un accelerometru. Piesele încep să cadă după ce jucătorul apasă pe un buton.

Un buzzer va fi folosit pentru a semnala că piesa curentă nu a fost așezată pe turn.

Schemă bloc

Hardware design

Listă de componente:

  • Arduino UNO
  • Ecran LCD
  • Buzzer
  • Buton
  • Accelerometru
  • Breadboard
  • Fire
  • Rezistențe

Schema electrica

Software design

Am folosit Arduino IDE si urmatoarele biblioteci:

  • Adafruit_MPU6050 pentru accelerometru
  • MCUFRIEND_kbv pentru LCD

Implementarea este bazata pe exemplele din bibliotecile de mai sus si exemplul din Arduino IDE tone digital pentru buzzer. Pentru a folosi butonul ca input am utilizat intrerupere pe PCINT0.

Accelerometrul comunica folosind I2C, insa display-ul folosea pin-ul A4(SDA) pentru LCD_RST. A trebuit sa reconfigurez LCD-ul sa foloseasca pin-ul 13 in loc de A4. Pentru a retine blocurile am folosit o structura si mai apoi blocurile construite le-am pastrat intr-un vector. Blocurilor li se asociaza o culoare random. Am implementat si functionalitate de scor si de game over.

LCD-ul are un refresh rate destul de mic astfel incat daca se face clear la ecran la fiecare frame apare un efect de imagine sacadata. De aceea atunci cand se misca un bloc, practic se coloreaza cu negru pozitia anterioara si apoi se deseneaza normal la pozitia noua.

Gameplay

Scopul jocului e sa se construiasca un turn cat mai inalt. Jucatorul are la dispozitie un bloc care apare la o pozitie random in partea de sus a scenei si il poate muta stanga-dreapta cu ajutorul accelerometrului. Pentru a lansa blocul, se apasa butonul. In momentul in care turnul este prea inalt, acesta este deplasat in jos. Jocul se termina in momentul in care jucatorul nu reuseste sa puna blocul corect deasupra turnului si acesta cade si iese din scena, moment in care apare un text cu “Game over” si se aude si o melodie de la buzzer. Pentru a se relua jocul se apasa din nou pe buton.

Rezultate obținute

Concluzii

Download

Jurnal

  • alegere proiect
  • creare pagina de wiki

Bibliografie/Resurse

pm/prj2021/apredescu/tower-stack.1622577732.txt.gz · Last modified: 2021/06/01 23:02 by bianca_ana.rusu
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