Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2024:rvirtan:t-rex-game [2024/05/01 15:07]
patricia.sirboiu created
pm:prj2024:rvirtan:t-rex-game [2024/05/28 19:05] (current)
patricia.sirboiu
Line 3: Line 3:
  
 ===== Introducere ===== ===== Introducere =====
 +
 +<note tip>
 +
 +  * Sirboiu Patricia-Octavia
 +  * 332CD
 +  * Indrumator: Razvan Virtan
 +</​note>​
  
 Proiectul reprezintă o replică a jocului T-Rex Game din Chrome offline mode, în care jucătorul preia controlul asupra unui dinozaur și trebuie să sară peste obstacolele care apar pe drum. Scopul este să supraviețuiești cât mai mult timp posibil și să obții un scor cât mai mare. Proiectul reprezintă o replică a jocului T-Rex Game din Chrome offline mode, în care jucătorul preia controlul asupra unui dinozaur și trebuie să sară peste obstacolele care apar pe drum. Scopul este să supraviețuiești cât mai mult timp posibil și să obții un scor cât mai mare.
Line 11: Line 18:
 Interacțiunea cu jocul se face prin intermediul a 3 butoane: "​up",​ "​down"​ și "​ok"​. Interacțiunea cu jocul se face prin intermediul a 3 butoane: "​up",​ "​down"​ și "​ok"​.
  
-Jocul începe prin apăsarea butonului "​ok"​. Personajul stă pe loc, iar la apăsarea butonului "​up"​ sare, harta deplasându-se continuu către el. Scopul este ca jucătorul să supraviețuiască cât mai mult timp posibilevitând obstacolele ce apar pe parcurs. Fiecare săritură de succes peste obstacol declanșează un sunet emis de buzzer.+Jocul începe prin apăsarea butonului "​ok"​. Personajul stă pe loc, iar la apăsarea butonului "​up"​ sare, harta deplasându-se continuu către el, aducând ocazional obstacole care trebuie evitate. Fiecare săritură de succes peste obstacol declanșează un sunet emis de buzzer.
  
 Când personajul atinge un obstacol, jocul se încheie, lucru semnalat de un efect sonor specific, iar pe ecran se afișează leaderboard-ul cu numele fiecărui jucător și cel mai mare scor obținut de acesta. Jucătorul poate naviga prin leaderboard cu butoanele "​up"​ și "​down"​. Când personajul atinge un obstacol, jocul se încheie, lucru semnalat de un efect sonor specific, iar pe ecran se afișează leaderboard-ul cu numele fiecărui jucător și cel mai mare scor obținut de acesta. Jucătorul poate naviga prin leaderboard cu butoanele "​up"​ și "​down"​.
Line 17: Line 24:
  
 ==== Schema bloc ==== ==== Schema bloc ====
-{{:​pm:​prj2024:​rvirtan:​pm_schema_t_rex_game.png|}}+{{:​pm:​prj2024:​rvirtan:​pm_schema_t_rex_game.png?600|}} 
 + 
 +===== Hardware Design ===== 
 + 
 +==== Diagramă de conectare ==== 
 + 
 +{{:​pm:​prj2024:​rvirtan:​diagrama_finala.png?​600|}} 
 + 
 +{{:​pm:​prj2024:​rvirtan:​cablaj_ig.jpeg?​600|}} 
 + 
 +===== Software Design ===== 
 + 
 +<note tip> 
 +Link la repo-ul de Git: https://​github.com/​patricia43/​T-Rex-Game 
 +</​note>​ 
 + 
 +=== Mediu de dezvoltare === 
 +  * Arduino IDE 
 + 
 +=== Biblioteci folosite === 
 +  * Wire.h, LiquidCrystal_I2C.h - pentru comunicarea cu display-ul LCD 
 +  * SD.h - pentru citire / scriere pe cardul de memorie 
 + 
 +=== Detalii de implementare si fluxul programului === 
 + 
 +Programul este impartit pe stari, intre care programul comuta, conform diagramei de mai jos: 
 + 
 +{{:​pm:​prj2024:​rvirtan:​diagrama_pm_software_4_.png?​450|}} 
 + 
 +Fiecare stare din diagrama este implementata in propria sa functie (de ex. startMenu() pentru meniul de start, gameOver() pentru meniul de game over etc.) 
 +In functia loop(), programul doar verifica starea curenta si apeleaza functia corespunzatoare acesteia. 
 + 
 + 
 +Din meniul de start, jucatorul are 3 optiuni: 
 +  * play, care il duce in joc. La finalizarea jocului, este afisat meniul de game over, dupa care, daca jucatorul curent a atins un nou high score personal, se va afisa clasamentul. 
 +  * select player, care il duce in meniul de user select, de unde poate naviga cu ajutorul butonaelor UP si DOWN prin lista tuturor utilizatorilor existenti si poate selecta cu butonul OK utilizatorul dorit. 
 +  * leaderboard,​ care il duce in clasament, unde poate naviga prin lista utlizatorilor (sortati dupa scor). Clasamentul este stocat pe un fisier text pe cardul SD, iar la fiecare actualizare a high score-ului unui jucator, el este suprascris astfel incat sa contina jucatorii sortati descrescator dupa scor. 
 + 
 +Detalii gameplay: 
 + 
 +Dificultatea jocului creste treptat pe masura ce scorul creste, prin reducerea decalajului dintre obstacole si prin cresterea vitezei. Aceasta este gestionata prin intermediul unui contor, care mareste nivelul de dificultate la intervale regulate. Acest lucru inseamna ca obstacolele se apropie mai rapid, ceea ce forteaza jucatorul sa aiba reactii mai rapide si o coordonare mai buna. 
 + 
 + 
 +===== Bibliografie/​Resurse ===== 
 + 
 +<​note>​ 
 +  * [[https://​maxpromer.github.io/​LCD-Character-Creator/​|Desenare caractere custom pentru grafica jocului]] 
 +  * [[https://​www.youtube.com/​watch?​v=xVC0X_PE_XE&​ab_channel=techydiy|Configurare display LCD]] 
 +</​note>​
  
pm/prj2024/rvirtan/t-rex-game.1714565228.txt.gz · Last modified: 2024/05/01 15:07 by patricia.sirboiu
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