Endless Arcade Hopper

Nume: Ostahie-Eftadopolos Andrei-Marian
Grupa: 336CC

Introducere

  • Proiectul consta in implementarea hardware si software a unui joc de tipul endless hopper. Obiectivul jocului este de a obtine un scor cat mai mare, avansand fara a avea coliziune cu obstacolele care se afla in miscare. Utilizatorul va oferi input pentru a controla fluxul jocului. Inputul oferit de catre jucator va consta in folosirea unor cartonase colorate si a unui senzor de culoare pentru a controla evenimentele din joc. In functie de anumite evenimente ce au loc in joc, utilizatorul va primi o forma de feedback prin intermediul LED-urilor si al buzzer-ului.
  • Scopul proiectului este realizarea unui joc ce are rol de divertisment.
  • Ideea de la care am pornit este un joc mobile, numit Crossy Road.
  • Proiectul este util pentru fixarea notiunilor studiate la laborator intr-o maniera distractiva si interactiva.

Descriere generală

Proiectul realizat reprezinta un joc de tip arcade. Jucatorul poate fi controlat fie prin apasarea unui buton, fie prin utilizarea unui cartonas colorat, detectat de catre senzorul de culoare. Odata ce se primeste input, jucatorul va avansa pe randul urmator, generandu-se aleator un nou obstacol sau un teren unde jucatorul nu poate fi atins de obstacole. Dificultatea este marita odata ce se atinge un anumit scor, obstacolele avand o viteza sau o dimensiune mai mare. La detectarea unei coliziuni dintre jucator si obstacol sau dupa ce jucatorul sta pe loc prea mult timp, se va trece intr-o stare de game over, afisandu-se pe ecran scorul obtinut. Buzzer-ul va indica printr-un sunet specific momentul cand se incepe un joc nou sau cand se termina jocul actual. Atunci cand un obstacol se apropie de jucator, acest lucru va fi indicat de catre un LED.

Schema bloc

Hardware Design

Lista piese:

  • Placuta Arduino UNO
  • Ecran LCD Nokia 5110
  • Modul senzor de culoare TCS230
  • Shift register
  • Butoane
  • LED-uri
  • Buzzer
  • Rezistente
  • Fire
  • Breadboard

Schema electrica

Software Design

Mediu de dezvoltare: Arduino IDE, TinkerCAD
Biblioteci: Adafruit_GFX, Adafruit_PCD8544 (interfatare LCD si desenare elemente grafice), SPI

Structuri:

  • object - pentru stocarea informatiilor despre un obiect de tip dreptunghi: coordonate colt stanga-jos (x, y), latime(w), inaltime(h)

Functii:

  • spawnObstacle - adaugare obstacol nou
  • spawnTerrain - adaugare teren nou
  • drawObject - desenare obiect (obstacole, teren)
  • drawPlayer - desenare jucator
  • start_game - functie de initializare, apelata in setup() si atunci cand se incepe un joc nou
  • player_move - deplasare jucator (jucatorul ramane pe acelasi rand pe display, dar toate elementele grafice se deplaseaza in jos; de asemenea, se va apela fie functia “spawnObstacle”, fie “spawnTerrain” pentru a adauga un nou element pe randul liber)
  • check_collisions - verificare daca exista coliziune intre jucator si obstacole
  • check_danger - verificare daca un obstacol se afla aproape de jucator
  • display_game_over_screen - afisare ecran dupa ce s-a terminat jocul
  • play_sound - folosire a buzzer-ului pentru a reda un sunet specific inceperii unui joc nou si sfarsitului unui joc
  • check_green - verificare daca senzorul de culoare detecteaza culoarea verde

Schema logica

Rezultate Obţinute

Rezultatul este un joc de tip endless arcade, in care jucatorul poate oferi input atat prin folosirea unui buton, cat si prin folosirea senzorului de culoare. Jucatorul va primi feedback prin intermediul a 3 componente: LCD, buzzer, LED. Dificultatea va creste dupa atingerea unui anumit scor.

Exista un video cu demo in arhiva cu sursele proiectului (sectiunea Download).

Concluzii

Download

Jurnal

Data Progres
05.05.2022 1) Pagina wiki
2) Descriere proiect
3) Schema bloc
4) Lista componente
25.05.2022 1) Adaugare schema electrica
2) Adaugare informatii software design(mediu de dezvoltare, biblioteci, functii, structuri)
26.05.2022 1) Actualizare descriere
2) Adaugare bibliografie si resurse utilizate
3) Actualizare biblioteci folosite
27.05.2022 1) Adaugare schema logica
2) Adaugare rezultat
3) Adaugare arhiva download


Bibliografie/Resurse

pm/prj2022/ndrogeanu/endless_arcade_hopper.txt · Last modified: 2022/05/27 21:37 by andrei.ostahie
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