Avoid the obstacles

Siminica Andrei Razvan, 331CA

Introducere

Proiectul consta intr-un joc recreativ cu scopul de a acumula cat mai multe puncte prin evitarea obstacolelor.

Descriere generală

Controlul jocului se bazeaza pe un singur buton:

  • In cazul in care jocul nu a inceput, se apasa butonul pentru start
  • In cazul in care jocul este in derulare, se apasa butonul pentru a sarii

Jocul incepe intr-un mod de standby; pentru a pornii jocul este necesara apasarea butonului.

Diagrama bloc

Hardware Design

Piese folosite:

  • Placuta Arduino UNO
  • Potentiometru variabil
  • Buton
  • Ecran LCD 16×2 caractere
  • Breadboard
  • Cabluri
  • Conector baterie
  • Baterie

Schema Electrica

Diagrama TinkerCad

  • nu reprezinta 100% realitatea, are doar rol de prezentare, NU este functionala.

Circuit

  • Camera foto a telefonului nu reuseste sa capteze afisajul LCD-ului, din pacate

Software Design

Aplicatia a fost dezvoltata folosind cod Arduino.

S-a folosit biblioteca LiquidCrystal pentru LCD.

Creare jucator

  • Ecranul LCD are 32 de spatii, pozitionate pe 2 linii (16×2)
  • Fiecare spatiu reprezinta o matrice de 8×5 pixeli
  • Acestia pot fi aprinsi/stinsi individual
  • se seteaza starea lor prin folosirea unei matrici ce va fi completata in felul urmator:
  • * static byte graphics[] = {
  • * B01110
  • * B10001
  • * B10001
  • * B10001
  • * B10001
  • * B10001
  • * B10001
  • * B01110
  • * };
  • acest exemplu va reprezenta o celula cu caracterul O
  • pentru a creea animatia de miscare/saritura au fost create mai multe 'modele' ce cicleaza in functie de ce este necesar la momentul respectiv

Functia setup

  • se initializeaza pinii si grafica initiala

Functia loop

  • se verifica daca jocul este in curs, sau inca nu a fost inceput
  • jocul nu este in curs ⇒ afiseaza mesajul “Game over”; deseneaza caracterul intr-o stare fixa
  • jocul este in curs ⇒ avanseaza cu terenul de joc
  • editeaza noua pozitie a jucatorului (avanseaza inainte/cazul in care acesta sare)
  • verifica daca jucatorul poate continua, sau a pierdut, caz in care acesta revine in cazul in care jocul nu este in curs.

Rezultate Obţinute

A fost creat un joc interactiv, repetitiv (fara incheiere), ce are ca scop ocolirea obstacolelor. Acesta se incheie in momentul in care jucatorul nu reuseste sa ocoleasca un anumit obstacol.

Download

Arhiva cu codul: avoid_the_obstacle_-_cod.rar

Bibliografie/Resurse

pm/prj2022/cristip/avoidtheobstalce.txt · Last modified: 2022/06/01 17:29 by andrei.siminica
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