Grumezescu Rares 333CC
La momentul inceperii jocului, jucatorul are posibilitatea de a alege unul din cele 3 grade de dificultate ale jocului: Easy, Medium, Hard. Jocul consta din 3 nivele, care se succed in momentul in care jucatorul a ajuns la un scor suficient de mare.
Atat selectarea gradului de dificultate, cat si saritul gardurilor vor fi posibile prin apasarea unui buton existent pe breadboard.
Jucatorul are la dispozitie 3 vieti, pierzand cate una in momentul coliziunii cu un obstacol. Jocul contine si 3 LED-uri care se aprind in functie de numarul de vieti ramase. Cu cat vietile se imputineaza, cu atat ledurile se sting unul dupa altul, atentionand jucatorul in privinta numarului de vieti pe care le mai are.
In momentul in care player-ul se izbeste de un obstacol, un buzzer va suna, indicand coliziunea care tocmai a avut loc.
Jocul mai dispune si de un scor ce apare permanent pe ecran in coltul din dreapta sus, indicand scorul pe care jucatorul l-a obtinut pana in acel moment.
Codul este impartit in mai multe functii, fiecare ocupandu-se de un alt aspect al functionarii lui.
Functia initializeGraphics(): initializeaza obiectele care vor aparea pe harta, creand caractere specifice ce se vor afisa repetitiv in fiecare cadru succesiv.
Functia drawHero() se ocupa de: desenarea jucatorului in fiecare ipostaza a jocului, stabileste daca jucatorul s-a lovit sau nu de un obstacol, respectiv actualizeaza si afiseaza scorul pe ecran.
Functiile level1(), level2(), level3(): sunt functii care seamana ca si functionalitate una cu alta; ele actualizeaza cadrele pe ecran si tot in interiorul lor se porneste buzzer-ul daca player-ul s-a lovit de un obstacol. Acestea primesc ca parametru un numar cu care, impreuna cu functia delay, vor reprezeta succesiuna cadrelor cu viteza corespunzatoare.
Functia intro(): se ocupa cu stabilirea dificultatii la care player-ul va juca.
Functiile loop() si setup() au aceeasi functionalitate ca si in laborator.
Acest proiect reuseste sa se foloseasca de componente hardware ca sa evidentieze anumite aspecte ale codului jocului. Astfel, evenimente precum o coliziune sau pierderea unei vieti sunt reprezentate folosind efecte sonore sau luminoase extrem de sugestive, prin care cel care se joaca jocul acesta sa perceapa mult mai usor ceea ce se intampla in joc. Efectele sonore atrag mult mai bine atentia in momentul in care jucatorul s-a lovit de un obstacol, iar efectul produs de led-uri este unul extrem de sugestiv, in momentul in care jucatorul pierde vietile puse la dispozitie. Consider ca proiectul este bine realizat, personal fiind multumit de rezultat.