Table of Contents

Ioan MĂRĂCINEANU (78401) - Flappy Bird

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Ideea mea a fost sa iau un joc simplist, caruia sa ii implementez o varianta mai complexa. De aceea am ales Flappy Bird, un joc pe mobil, care a fost viral in 2013.

In acest joc, controlezi o pasare prin atingerea ecranului, ce face ca pasarea sa zboare mai sus, obiectivul fiind depasirea unor obstacole sub forma de tuburi (pereti printre care trebuie sa zboare). Daca lovesti un obstacol o iei de la capat.

Am adaugat functionalitati in plus, cum ar fi posibilitatea distrugerii obstacolelor, prin aruncarea unor proiectile explozibile (oua), precum si o abilitate care ii permite pasarii sa treaca prin pereti (Ghost Mode). Desigur, daca distrugi o parte dintr-un obstacol, atunci nu vei mai primi puncte pentru depasirea lui. De asemenea, abilitatea are un timp de incarcare (cooldown).

Scopul proiectului este obtinerea unui joc amuzant si incitant, in special pentru cei mai competitivi, intrucat desi jocul pare destul de simplu, obtinerea un scor bun este dificila.

Descriere generală

Jucatorul va folosi 3 butoane: cate unul pentru deplasarea pasarii, tragerea in obstacole si folosirea abilitatii. Scena 2D va putea fi vizualizata pe un ecran LCD. De asemenea, voi folosi un buzzer pentru redarea sunetelor.

Hardware Design

Lista de piese:

Schema electrica:

Software Design

Am folosit win-avr ca mediu de dezvoltare si HIDBootFlash pentru scrierea pe microcontroller.

Am utilizat cateva biblioteci din laborator: avr/io.h, util/delay.h, avr/interrupt.h; de asemenea, bibliotecile pentru LCD: ili9341.h si ili9341gfx.h. [1]

Detalii generale de implementare:

Interactiunea cu hardware-ul:

Rezultate Obţinute

It works!! https://www.youtube.com/watch?v=Nxvutpsp93Y

Concluzii

Consider ca proiectul a fost interesant si util pentru intelegerea si aprofundarea cunostintelor dobandite in cadrul laboratorului, precum si pentru familiarizarea cu lucrul manual. Per total o experienta placuta.

Download

ioan_mrc_arhiva_pm.zip

Bibliografie/Resurse

Resurse Software

[1] LCD libs: https://community.atmel.com/projects/ili9341-library-drive-22-tft-displayderived-adafruit-tft-library-ili9340-type-controller

[2] PLAYNOTE: https://www.petervis.com/C/pizo%20speaker/pizo%20speaker.html

[3] Laboratoarele de PM, in principal acesta: http://cs.curs.pub.ro/wiki/pm/lab/lab2

Resurse Hardware

http://optimusdigital.ro/