Maria-Teodora TABĂRĂ (78508) - Pong Game

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul consta in realizarea jocului Pong pe LCD, care simuleaza un joc 2D de tenis de masa.

  • Jocul este de 2 jucatori, fiecare putand sa controleze platforma proprie.
  • Exista o minge care ricoseaza de la o paleta la alta; un jucator marcheaza atunci cand oponentul nu reuseste sa isi apere poarta.
  • Scopul jocului este de a urmari traiectoria mingii si de a invinge adversarul.
  • Am pornit de la ideea de a implementa un proiect care sa constituie atat un mod de invatare si aprofundare a materiei, cat si un mijloc de divertisment, odata ce va fi finalizat.

Descriere generală

Fiecare jucator va avea 2 butoane prin care isi poate controla paleta in doua directii: sus si jos. Comenzile vor fi procesate prin intermediul placutei si rezultatele afisate pe LCD. Jocul se termina atunci cand unul dintre jucatori ajunge la scorul de 8 puncte.

Schema bloc:

Hardware Design

Lista de piese:

  • 4 butoane
  • display Nokia 5110
  • cablu usb
  • 8 fire mama-mama
  • 5 fire mama-tata
  • 4 fire tata-tata
  • placa breadboard
  • placa de baza si componentele aferente

Schema electrica:

Butoanele sunt distribuite in felul urmator:

  • Butoane jucator 1:
    • S4: directie jos
    • S3: directie sus
  • Butoane jucator 2:
    • S2: directie jos
    • S1: directie sus

Pentru conectarea LCD-ului am utilizat firele mama-mama ca si in schema electrica. Butoanele au fost implementate cu ajutorul placii breadboard, si a firelor mama-tata si tata-tata (am incercat initial cu o placa de test insa am avut probleme cu lipitul firelor). Nu am mai utilizat rezistente pentru acestea, am activat rezistentele de pull-up direct din cod. De asemenea, am avut grija ca placuta sa fie alimentata la 3.3V, si nu la 5V pentru a nu arde displayul.

Software Design

Mediu de dezvoltare:

Librarii:

Algoritm:

Jocul se deschide cu ecranul de start, dupa care se alege o directie random de deplasare a mingii. Cand timp jocul nu s-a terminat, se deseneaza platformele, scorul si mingea, dupa care:

  1. se misca platformele daca este cazul
  2. se deplaseaza mingea
  3. se verifica ciocnirile cu platformele sau marginile de sus si jos caz in care mingea ricoseaza.
  4. se verifica ciocnirile cu marginile dreapta, stanga: jucatorul1, respectiv jucatorul2 marcheaza un punct.

Primul jucator care ajunge la scorul de 8 puncte castiga. Jocul se va reseta de la butonul de reset. Am utilizat functiile din libraria Quantum Torque, precum si makefileul propus de acestia.

Rezultate Obţinute

Concluzii

A fost un proiect interesant din care am invatat foarte multe. Am avut mari emotii cu displayul si ca nu o sa imi mearga nimic, insa satisfactia este imensa atunci cand vezi ca un proiect la care ai muncit saptamani la rand, prinde incet incet contur si la final, chiar functioneaza.

Download

Jurnal

  • [22 Aprilie 2018]: Alegerea temei proiectului, lista de piese și schema bloc
  • [6 Mai 2018] : Schema electrica
  • [9 Mai 2018] : Finalizarea placii de baza
  • [16 Mai 2018] : Stadiu incipient hardware
  • [17 Mai 2018] : Finalizare hardware
  • [23 Mai 2018] : Finalizare software → finalizare proiect.

Bibliografie/Resurse

pm/prj2018/dghilinta/mariatabara.txt · Last modified: 2021/04/14 17:07 (external edit)
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