Differences

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

Link to this comparison view

pm:prj2024:alucaci:maria.costea2604 [2024/05/23 14:12]
maria.costea2604
pm:prj2024:alucaci:maria.costea2604 [2024/05/23 17:12] (current)
maria.costea2604 [Concluzii]
Line 32: Line 32:
  
  
-<note tip> +  * Am implementat jocul în Arduino IDE 
-Descrierea codului aplicaţiei (firmware)+  * Am utilizat librăriile LedControl, LiquidCrystal,​ EEPROM 
-  * mediu de dezvoltare ​(if any(e.gAVR StudioCodeVisionAVR+  * Am utilizat o structura pentru șarpele din joc, care salveaza potitiile capului, corpului, lungimea sa si directia. 
-  * librării şi surse 3rd-party (e.gProcyon AVRlib) +  * Am utilizat o structura pentru mărul pe care trebuie să-l mănânce pentru a putea crește. După ce șarpele ajunge să ia un măr altul va apărea într-un alt loc random din matrice. 
-  * algoritmi şstructuri pe care plănuiţi să le implementaţ+Actualizarea și Mișcarea Șarpelui
-  * (etapa 3surse şfuncţii implementate +  * Direcția șarpelui este controlată ​de valorile citite de la joystick ​(varXPin și varYPin). Dacă joystick-ul este mișcat într-o direcție, direcția șarpelui se schimbă corespunzătorMișcarea șarpelui este realizată prin actualizarea poziției capului (head) pe baza direcției curente (dir). Dacă capul șarpelui se mută peste marginea matricei de LED-uripoziția sa este ajustată pentru a apărea pe partea opusă (efect de teleportare). 
-</​note>​+  * Coliziunea cu sine: Verifică dacă coordonatele capului șarpelui coincid cu oricare parte a corpului săuDacă da, jocul se resetează, iar jucătorul pierde o viață
 +  * Coliziunea cu mărul: Dacă capul șarpelui ajunge la poziția mărului, șarpele crește în lungime, scorul este incrementat șun nou măr este generat la poziții aleatorii. 
 +  * Matricea de LED-uri este actualizată pentru a afișa noua poziție a șarpelui șa mărului. Șarpele este desenat folosind array-ul pic, iar mărul este făcut ​să clipească pentru a fi mai vizibil. 
 +Meniuri șInterfață:​ 
 +  * Interfața jocului este realizată folosind un ecran LCD. Meniurile sunt navigate utilizând butonul joystick-ului. Există mai multe meniuri și submeniuri pentru opțiuni precum începerea jocului, setările, etc. 
 +Funcții Importante:​ 
 +    - playGame(): Gestionează logica principală a jocului. 
 +    - showIntro():​ Afișează introducerea jocului. 
 +    - showMenu(): Afișează meniul principal șpermite navigarea prin opțiuni. 
 +    - Update(): Actualizează starea șarpelui și a mărului. 
 +    - Render(): Redă (desenează) jocul pe matricea de LED-uri. 
 +    - calculateDeltaTime():​ Calculează timpul trecut între cadre pentru a controla viteza jocului. 
 +    - removeFirst():​ Elimină prima parte a corpului șarpelui pentru a simula mișcarea sa înainte. 
 + 
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Pe matricea de leduri apare un model initial. Apăsarea joystick-ului duce la începerea jocului. Un snake format inițial din două cercuri luminoase se deplasează pe matrice și este controlat de către jucător cu ajutorul joystick-ului. La începutul jocului se poate auzi un cântecel, un sunet scurt se aude la mâncarea merelor, apare câte unul pe rând în locuri random. Șarpele crește odată cu mâncarea punctelor lumninoase și își pierde viața dacă își atinge propriul corp. La pierderea jocului se va auzi un sunet mai lung și mai puteric
-Care au fost rezultatele obţinute ​în urma realizării proiectului vostru+{{ :​pm:​prj2024:​alucaci:​whatsapp_image_2024-05-23_at_16.47.10_1_.jpeg?​nolink&​300 |}} 
-</​note>​+{{ :​pm:​prj2024:​alucaci:​whatsapp_image_2024-05-23_at_16.47.10.jpeg?​nolink&​300 |}}
  
 ===== Concluzii ===== ===== Concluzii =====
  
 +Mi-a făcut plăcere să lucrez cu ceva nou și să pot implementa un joc clasic care mi-a plăcut foarte mult în copilărie.
 ===== Download ===== ===== Download =====
  
 <note warning> <note warning>
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului:​ surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). +{{:pm:prj2024:alucaci:costea_maria_cristina_pm.zip|}}
- +
-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**.+
 </​note>​ </​note>​
  
Line 60: Line 73:
 <note tip> <note tip>
 2.05 - Alegerea temei proiectului 2.05 - Alegerea temei proiectului
 +
 9.05 - Prezentarea pieselor pe care urma sa le utilizez 9.05 - Prezentarea pieselor pe care urma sa le utilizez
 +
 12.05 - Legarea pieselor hardware 12.05 - Legarea pieselor hardware
 +
 13.05 - Intocmirea documentatiei pentru partea de hardware 13.05 - Intocmirea documentatiei pentru partea de hardware
 +
 16.05 - Prezentarea celui de al-doilea milestone 16.05 - Prezentarea celui de al-doilea milestone
 +
 19.05 - 21.05 - Scrierea codului 19.05 - 21.05 - Scrierea codului
 +
 23.05 - Prezentarea ultimului milestone 23.05 - Prezentarea ultimului milestone
 </​note>​ </​note>​
Line 70: Line 89:
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +  * https://​docs.arduino.cc/​built-in-examples/​usb/​JoystickMouseControl/​ 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  * https://​docs.arduino.cc/​built-in-examples/​display/​RowColumnScanning/​ 
-</note> +  ​https://​www.arduino.cc/​reference/​en/​libraries/​liquidcrystal/​ 
- +  ​https://​projecthub.arduino.cc/​SURYATEJA/​use-a-buzzer-module-piezo-speaker-using-arduino-uno-cf4191 
-<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</a></html> +  * https://​docs.arduino.cc/​built-in-examples/​display/​RowColumnScanning
 +  * https://docs.arduino.cc/​built-in-examples/​arduino-isp/​ArduinoToBreadboard/​ 
 +  * https://​www.tinkercad.com/​dashboard
pm/prj2024/alucaci/maria.costea2604.1716462775.txt.gz · Last modified: 2024/05/23 14:12 by maria.costea2604
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