This is an old revision of the document!


Flappy Bird Definitive Edition

Introducere

Jocul care a cutremurat planeta in 2014 se intoarce ! Jocul va suferi totusi cateva modificari fata de varianta originala. In primul rand, repetitivitatea jocului din 2014 va fi inlaturata prin introducerea unui mecanism de dificultate pentru joc. Deasupra ecranului pe care se desfasoara jocul se vor afla 5 led uri galbene, care indica dificultatea curenta. Acesta va creste treptat, deoarece nu ne dorim ca jucatorii sa moara incepand din primul sau al doilea obstacol.In acest fel jocul va fi friendly si pentru incepatori, dar challenging si pentru cei hardcore.

In plus, ar fi dragut ca fiecare sa isi poata customiza pasarea cum doreste. De aceea, voi introduce un buton colorat prin apasarea caruia pasarea se va colora corespunzator. Se va introduce si un filtru de dark mode, prin care orasul prin care se plimba pasarea noastra preferata va deveni unul intunecat si neprietenos.

Fara sunetele catchy jocul nu ar mai fi el insusi (https://www.youtube.com/watch?v=DMmlXBR5hs4), de aceea le voi reproduce printr-un buzzer.

Prezentarea pe scurt a proiectului vostru:

  • ce face
  • care este scopul lui
  • care a fost ideea de la care aţi pornit
  • de ce credeţi că este util pentru alţii şi pentru voi

Descriere generală

Schema bloc:

Aplicatia va avea drept componente centrale un Arduino Uno R3 si un ecran TFT de 3.5 inch cu controller ILI9488 si touchscreen. Jocul va fi conceput prin desenarea elementelor pe ecran, considerand o executie a functiei de loop drept un frame. Ecranul nu suporta o rata de refresh prea mare; motiv pentru care animatiile prea complexe au fost imposibil de realizat. Cu toate acestea, am facut anumite optimizari pentru a putea reda jocul cu o viteza buna si cu un aspect grafic placut. Pentru a ne juca, ne folosim de touchscreen-u ecranului. Folosind un breadboard pe care jucatorul il are la indemana, acesta isi poate customiza pasarea prin apasarea unui buton. De asemenea, utilizatorul poate vedea in timp real la ce nivel de dificultate a ajuns, in functie de cate LED-uri sunt aprinse. Jocul va avea 5 niveluri progresive de dificultate. La fiecare nivel se va mari viteza cu care vin tuburile spre pasare sau dimensiunea spatiului prin care pasarea trebuie sa se strecoare. Ne dorim ca playerii sa poata vedea ritmul in care progreseaza, de aceea am implementat si un mecanism de high score. Ciclul zi-noapte a fost implementat astfel incat sa redea desfasurarea normala a unei zile. Dupa sfarsitul unui run pe zi, pasarea va incepe un alt run pe noapte, si tot asa.' Buzzer-ul este folosit pentru a reda sunetele specifice jocului. Am compus 2 “melodii” din cate 2-3 note muzicale, una ce se ruleaza atunci cand pasarea trece printr-un tub, iar cealalta atunci cand pasarea se ciocneste.

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.

Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html

Hardware Design

Componente utilizate:

  • Arduino Uno
  • Breadboard
  • LED-uri galbene
  • Buzzer
  • Buton colorat
  • Ecran LCD 3.5 inch ILI9488, cu touchscreen (sau buton care sa simuleze aceasta functionalitate)

Aici puneţi tot ce ţine de hardware design:

Software Design

Arduino IDE Una din librariile pentru utilizarea primitivelor geometrice pe LCD(Adafruit TFTLCD, MCUFRIEND, LCDWIKI, etc)

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

4.21.2022: Adaugare pagina proiect

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2022/arosca/gabriel.oprea2111.1653659147.txt.gz · Last modified: 2022/05/27 16:45 by gabriel.oprea2111
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