This is an old revision of the document!
Grupa: 334CC
Implementarea jocului clasic de Pong dar controlat in aer prin miscarea mainii. Odata inceput un joc acesta va fi afisat printr-o printr-un display LCD cu o rezolutie de 84×48. De asemenea, pe un alt display LCD se vor afisa diverse informatii despre jocul curent, iar prin intermediul unui buzzer se vor crea efecte sonore.
Scopul jocului este acela de relaxare si divertisment.
Cand consola va fi pornita se va astepta se vor utiliza 3 butoane pentru a naviga prin meniuri si a schimba diferitele setari ale jocului, precum alegerea numarului de puncte cu care se castiga jocul sau timpul limita al unui joc. Jocul va porni cand este aleasa optiunea de “start”.
Odata inceput jocul, paletle se vor putea controla prin miscarea unor palete fizice de ping pong in sus si in jos, folosind 2 senzori de distanta, unul pentru fiecare jucator.
Jocul se va desfasura display-ul de Nokia 5110, fiecare paleta, fiind reprezentata prin dreptunghiuri pozitionate pe verticala, iar mingea printr-un patrat. Scopul jocului este ca mingea sa ajunga in poarta adversarului.
In cadrul jocului, informatii precum scorul sau punctajele vor fi afisate pe display-ul LCD. Buzzer-ul va produce diferite sunete, pentru marcarea unui golurilor.
Ca mediu de dezvoltare pentru am ales Arduno IDE. Am folosit biblioteca “LiquidCristal_I2C” pentru controlul display-ului LCD 1602 prin I2C. Bibliotecile “SPI.h”, “Adafruit_GFX.h” si “Adafruit_PCD8544.h” au fost folosite pentru controlul display-ului de Nokia, prin proticolul SPI.
Funcționalitatea proiectului a fost spartă in funcții pentru a fi mai usor de uramtit cursul execuției programului.
In loop în funcție de valoarea unei variabile de stare a programului, se poate ajunge în funcția responsabila pentru meniul principal, in diversele meniuri pentru setari ale consolei, in modul de joc sau in ecranul de final al jocului.
Deoarece au fost utilizați toti pinii digitali, nu am putut folosi timere reglate prin registre, cum am făcut si la laborator, de accea am fost nevoit sa folosesc funcția millis pentru a controla rata cu care erau actualizate functiile jocului.
Flow-ul jocului este format din urmatorii:
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.