Differences

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

Link to this comparison view

pm:prj2023:vstoica:subwaysurfer [2023/05/29 00:12]
cristina.tanase1501 [Software design]
pm:prj2023:vstoica:subwaysurfer [2023/05/29 00:42] (current)
cristina.tanase1501 [Download]
Line 12: Line 12:
  
 Pentru interfata utilizatorului va fi folosit un **afisaj grafic LCD**. Pentru interfata utilizatorului va fi folosit un **afisaj grafic LCD**.
-Utilizatorul va putea juca folosind doua **butoane** de directie (stanga, dreapta). Pentru ​restart ​va fi folosit un **senzor de atingere**.  +Utilizatorul va putea juca folosind doua **butoane** de directie (stanga, dreapta). Pentru ​tragerea de gloante in obstacole ​va fi folosit un **senzor de atingere**.  
-Daca jucatorul ajunge la FINISH, ​se vor aprinde **leduri** de culoare verde. Daca pierde jocul, se vor aprinde **leduri** rosii+In timpul jocului ​se va aprinde ​un **LED** de culoare verde. Daca pierde jocul, se va aprinde ​un **LED** rosu
  
 =====Schema bloc===== =====Schema bloc=====
Line 35: Line 35:
  
 =====Software design===== =====Software design=====
 +Codul a fost implementat in ArduinoIDE. M-am folosit de bibliotecile SPI.h si TFT.h pentru LCD.
   ​   ​
-   * drawRunner() : Afiseaza player-ul pe ecran - dreptunghiul verde +Functii: 
-   * drawObstacle() : Afiseaza obstacolul pe ecran - dreptunghi rosu +   * **drawRunner()** : Afiseaza player-ul pe ecran - dreptunghiul verde 
-   * updateRunner() : Actualizeaza pozitia player-ului - il misca in functie de apasarea butoanelor stanga/​dreapta +   * **drawObstacle()** : Afiseaza obstacolul pe ecran - dreptunghi rosu 
-   * updateObstacle() : Actualizeaza pozitia obstacolului,​ care se apropie de player. Cand iese din ecran, va fi repozitionat aleatoriu la inceput si creste scorul player-ului. +   * **updateRunner()** : Actualizeaza pozitia player-ului - il misca in functie de apasarea butoanelor stanga/​dreapta 
-   * shootBullet() : Tragerea glontului e activata de atingerea senzorului. Glontul pleaca din pozitia player-ului in momentul tragerii. +   * **updateObstacle()** : Actualizeaza pozitia obstacolului,​ care se apropie de player. Cand iese din ecran, va fi repozitionat aleatoriu la inceput si creste scorul player-ului. 
-   * drawBullet() : Afiseaza glontul pe ecran - un dreptunghi mic albastru. +   * **shootBullet()** : Tragerea glontului e activata de atingerea senzorului. Glontul pleaca din pozitia player-ului in momentul tragerii. 
-   * updateBullet() : Acutualizeaza pozitia glontului, deplasandu-l spre directia din care vin obstacolele. Daca glontul iese din ecran este dezactivat. Daca glontul atinge obstacolul, obstacolul dispare (este repozitionat la inceput) si creste scorul +   * **drawBullet()** : Afiseaza glontul pe ecran - un dreptunghi mic albastru. 
-   * checkCollision() : Verifica daca player-ul se ciocneste de obstacol. In cazul coliziunii scade numarul de vieti. Cand se termina vietile, se afiseaza ecranul "Game Over" alaturi de scor. +   * **updateBullet()** : Acutualizeaza pozitia glontului, deplasandu-l spre directia din care vin obstacolele. Daca glontul iese din ecran este dezactivat. Daca glontul atinge obstacolul, obstacolul dispare (este repozitionat la inceput) si creste scorul 
-   * displayScore() : Afiseaza permanent scorul si numarul de vieti in timpul jocului. +   * **checkCollision()** : Verifica daca player-ul se ciocneste de obstacol. In cazul coliziunii scade numarul de vieti. Cand se termina vietile, se afiseaza ecranul "Game Over" alaturi de scor. 
-   * setup() : initializeaza ecranul TFT, configureaza pinii de intrare si iesire +   * **displayScore()** : Afiseaza permanent scorul si numarul de vieti in timpul jocului. 
-   * loop() : Programul principal. Verifica in bucla daca senzorul tactil e atins pentru declansarea glontului. Actualizeaza player-ul, obstacolul, glontul si scorul si verifica coliziunile intre obiecte.+   * **setup()** : initializeaza ecranul TFT, configureaza pinii de intrare si iesire 
 +   * **loop()** : Programul principal. Verifica in bucla daca senzorul tactil e atins pentru declansarea glontului. Actualizeaza player-ul, obstacolul, glontul si scorul si verifica coliziunile intre obiecte.
  
-{{:​pm:​prj2023:​vstoica:​pm_schema02.png?​450|Schema}}+{{:​pm:​prj2023:​vstoica:​diagramapm_.png?​450|Schema}} 
 + 
 +===== Download ===== 
 +Surse: {{:​pm:​prj2023:​vstoica:​endless_antoniatanase.zip|Endless_game}}
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
pm/prj2023/vstoica/subwaysurfer.1685308349.txt.gz · Last modified: 2023/05/29 00:12 by cristina.tanase1501
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