This shows you the differences between two versions of the page.
pm:prj2024:avaduva:ioana.dabelea [2024/05/23 16:48] ioana.dabelea [Software Design] |
pm:prj2024:avaduva:ioana.dabelea [2024/05/27 16:51] (current) ioana.dabelea [Bibliografie/Resurse] |
||
---|---|---|---|
Line 39: | Line 39: | ||
Mediu de Dezvolate: Arduino IDE | Mediu de Dezvolate: Arduino IDE | ||
- | Biblioteci utilizate: LedControl, SPI, TMRpcm, SD | + | Biblioteci Utilizate |
+ | * SD.h: Pentru interacțiunea cu cardul SD. | ||
+ | * TMRpcm.h: Pentru redarea fișierelor audio de pe cardul SD. | ||
+ | * SPI.h: Protocol de comunicație pentru cardul SD. | ||
+ | * LedControl.h: Controlul afișajului LED de tip matrice. | ||
===== Descriere Implementare ===== | ===== Descriere Implementare ===== | ||
Line 50: | Line 53: | ||
* cu ajutorul unui card SD am pastrat intr-un fisier date despre sesiunea de joc curenta (scor, timp, numar de schimbari de directie) | * cu ajutorul unui card SD am pastrat intr-un fisier date despre sesiunea de joc curenta (scor, timp, numar de schimbari de directie) | ||
+ | |||
+ | Funcții de Setup | ||
+ | * setup(): Funcția principală de setup care configurează pini, afișajul LED, poziția inițială a șarpelui și a mâncării. | ||
+ | * setupSnakePosition(): Setează poziția inițială a șarpelui random. | ||
+ | * setupFoodPosition(): Setează poziția mâncării într-o locație | ||
+ | * setupLedBoard(): Configurează afișajul LED. | ||
+ | * setupSpeaker(): Configurează modulul de sunet și verifică cardul SD. | ||
+ | * setupPins(): Configurează pinul joystick-ului. | ||
+ | |||
+ | Funcții de Control al Jocului | ||
+ | * playGameOverSong(): Redă sunetul specific când jocul s-a terminat. | ||
+ | * playFoodEatenSong(): Redă sunetul specific când șarpele mănâncă mâncarea. | ||
+ | * startGame(): Funcția principală care gestionează logica jocului, inclusiv verificarea coliziunilor, actualizarea direcției șarpelui, gestionarea mâncării și actualizarea afișajului. | ||
+ | * manageGameOver(): Verifică dacă șarpele s-a ciocnit cu propria coadă. | ||
+ | * manageSnakeOutOfBounds(): Asigură că șarpele revine pe partea opusă a afișajului dacă iese din limite. | ||
+ | * manageSnakeTailCoordinates(): Actualizează coordonatele cozii șarpelui. | ||
+ | * manageEatenFood(): Verifică dacă șarpele a mâncat mâncarea și actualizează scorul și dimensiunea șarpelui. | ||
+ | * setJoystickDirection(): Setează direcția șarpelui pe baza input-ului de la joystick. | ||
+ | * changeSnakeDirection(): Modifică direcția șarpelui pe baza valorii setate de joystick. | ||
+ | * showGameOverScreen(): Afișează ecranul de game over și resetează variabilele de joc. | ||
+ | * resetVariables(): Resetează variabilele jocului la valorile inițiale. | ||
+ | * showLed() și hideLed(): Aprinde sau stinge un LED specific de pe afișaj. | ||
+ | * drawSnake(): Desenează șarpele și mâncarea pe afișajul LED. | ||
+ | * writeGameStatistic(): Scrie in fisierul de pe cardul SD detalii despre sesiunea de joc. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Aici puteti vedea un mic demo al proiectului: |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | https://drive.google.com/file/d/1U9VoSO2mxLfDXYwqWxczZuNfrsVp1DXv/view?usp=sharing |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | soon.. |
- | 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ă ;-). | + | |
- | + | ||
- | 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> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 72: | Line 92: | ||
</note> | </note> | ||
- | ===== Bibliografie/Resurse ===== | ||
- | |||
- | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | ||
- | </note> | ||
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> |