This is an old revision of the document!
Proiectul constă în implementarea unui joc asemănător cu Breakout pe un ecran LCD de 1.44” (128×128 px). Controlul platformei se va efectua folosind un accelerometru. Se vor folosi butoane pentru a schimba lvl și setari, LED-uri pentru efecte vizuale si un buzzer pentru efecte sonore.
Scopul este a crea un joc similar cu Breakout (cu mici îmbunătățiri), a cărui prima versiune a fost creată de Atari Inc. în 1976.
Am plecat de la dorința de a face un joculeț retro care va fi asemănător cu jocul Breakout, fiind inspirat de multe jocuri de genul acesta.
Distracție si relaxare, posibilitatea de a simți atmosfera primilor jocurilor video.
Afișarea grafică a jocului se va face pe ecranul LCD. Controlul platformei se va face cu ajutorul unui accelerometru. Înclinând dispozitivul in direcția dorita, va fi posibila mutarea platformei. Vor fi 3 butoane care se vor folosi pentru a selecta lvl si pentru a modifica setările jocului. LED-urile se vor folosi pentru efecte vizuale. Spre exemplu, culoarea LED-urilor se va schimba in funcție de ce culoare a fost la ultimul obstacol lovit. Buzzer este folosit pentru efecte sonore.
}
Lista de componente:
Accelerometru este folosit pentru a controla butonul din joc. Inclinand dispozitivul in dreapta/stanga se va misca si platforma. <br> LED-urile isi schimba culoarea pe culoarea obstacolului distrus. Buzzer produce zgomote specifice la distrugerea obstacolelor, cand se atinge de platforma, cand se pierde o viata sau cand se schimba nivelul jocului. Am folosit 3 butoane: * Butonul din stanga schimba nivelul jocului * Butonul din mijloc incepe miscarea bilei (Cand se incepe jocul si bila se afla pe platforma) * Butonul din dreapta stange/aprinde LED-urile
Am separat codul in 5 fisiere: * game - in fisierul acesta se executa setup() si loop() si se apeleaza functii din celelalte fisiere. * utils - aici sunt functii care implementeaza logica si fizica jocului * accelerometer_utils - functiile din acest fisier se ocupa cu citirea datelor de la accelerometru. * LCD_utils - aici sun functii foosite pentru a cotrola LCD. * levels - aici sunt stocate array-uri cu datele nivelelor jocurilor si functii ajutatoare.
Pentru implementarea proiectului am folosit 3 biblioteci externe pentru controlul LCD-ului: * SPI.h * Adafruit_GFX.h * Adafruit_ST7735.h
Scopul jocului este de a distruge toate obstacole prevenind caderea bilei in afara platformei. In partea de sus a ecranului sunt afisate vietele jucatorului si scorul. Jucatorul are trei viete si daca le pierde pe toate scorul se va reseta la 0. Fiecare obstacol distrus adauga la scorul 10 puncte. In jocul exista trei nivele care se pot schimba apasand butonul din dreapta.
TODO
TODO
Documentația în format PDF