Differences

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

Link to this comparison view

pm:prj2024:fgul:melania.marian [2024/05/26 18:56]
melania.marian [Rezultate Obţinute]
pm:prj2024:fgul:melania.marian [2024/05/26 20:06] (current)
melania.marian [Rezultate Obţinute]
Line 1: Line 1:
 ====== Wordle ====== ====== Wordle ======
  
-<​note>​+
 Nume: Marian Melania-Valentina Nume: Marian Melania-Valentina
  
 Grupă: 331CC Grupă: 331CC
-</​note>​+
 ===== Introducere ===== ===== Introducere =====
  
Line 15: Line 15:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-Utilizatorul interacționează cu jocul prin intermediul tastaturilor matriceale 4x4, fiecare literă fiind reprezentată printr-un buton al tastaturilor. De asemenea, există pe a doua tastatură un buton ce are asociată acțiunea de enter(înregistrarea cuvântului în joc) și un buton cu acțiunea de ștergere a unei litere din cuvânt. Pe ecranul LCD există un buton de reset, a cărui apăsare declanșează reînceperea jocului. Întregul joc este afișat pe ecranul LCD, iar în momentul finalizării jocului se aprinde unul dintre cele două led-uri, în funcție de rezultatul jucătorului:​ dacă cuvântul a fost ghicit, se aprinde led-ul verde, iar dacă jucătorul nu a ghicit cuvântul, se aprinde cel roșu.+Utilizatorul interacționează cu jocul prin intermediul tastaturilor matriceale 4x4, fiecare literă fiind reprezentată printr-un buton al tastaturilor. De asemenea, există pe a doua tastatură un buton ce are asociată acțiunea de Enter (înregistrarea cuvântului în joc) și un buton cu acțiunea de ștergere a unei litere din cuvânt. Pe ecranul LCD există un buton de reset, a cărui apăsare declanșează reînceperea jocului. Întregul joc este afișat pe ecranul LCD, iar în momentul finalizării jocului se aprinde unul dintre cele două led-uri, în funcție de rezultatul jucătorului:​ dacă cuvântul a fost ghicit, se aprinde led-ul verde, iar dacă jucătorul nu a ghicit cuvântul, se aprinde cel roșu.
  
 {{:​pm:​prj2024:​fgul:​schema_bloc_meliv2.png?​500|}} {{:​pm:​prj2024:​fgul:​schema_bloc_meliv2.png?​500|}}
Line 155: Line 155:
 ==== Verificarea cuvintelor ==== ==== Verificarea cuvintelor ====
  
-Pentru verificarea literelor comune dintre cuvântul introdus și cel care trebuie ghicit, am creat funcția checkWord, care returnează un șir ce conține ​5 caractere(0, 1 sau 2corespunzătoare ​literelor, care este folosit de funcția validateGuess pentru a crea animația astfel:+Pentru verificarea literelor comune dintre cuvântul introdus și cel care trebuie ghicit, am creat funcția checkWord(), care returnează un șir ce conține ​caracterele ​0, 1 sau 2 corespunzătoare ​celor 5 litere, care este folosit de funcția validateGuess() pentru a crea animația astfel:
   * 0 - pătratul este colorat gri   * 0 - pătratul este colorat gri
   * 1 - pătratul este colorat galben   * 1 - pătratul este colorat galben
Line 181: Line 181:
   * "YOU WIN!:​)"​ - câștig   * "YOU WIN!:​)"​ - câștig
   * "YOU LOSE!:( The word was cuvânt_de_ghicit"​ - pierdere   * "YOU LOSE!:( The word was cuvânt_de_ghicit"​ - pierdere
-  * +
 Am implementat această funcționalitate folosind întreruperi,​ care se declanșau în urma detectării trecerii pinilor led-urilor din starea LOW în starea HIGH. De asemenea, am configurat led-urile pe pinii 2 și 3, care suportă întreruperi pe ATMEGA. Am implementat această funcționalitate folosind întreruperi,​ care se declanșau în urma detectării trecerii pinilor led-urilor din starea LOW în starea HIGH. De asemenea, am configurat led-urile pe pinii 2 și 3, care suportă întreruperi pe ATMEGA.
  
Line 196: Line 196:
   tft.setTextSize(4);​   tft.setTextSize(4);​
   tft.print("​YOU WIN!:​)"​);​   tft.print("​YOU WIN!:​)"​);​
 +}
 +
 +// funcția ISR pentru pierdere
 +void ISRPierdere() {
 +  tft.setTextColor(TFT_RED);​
 +  tft.setCursor(70,​ 420);
 +  tft.setTextFont(1);​
 +  tft.setTextSize(3);​
 +
 +  tft.print("​YOU LOSE!:​("​);​
 +
 +  tft.setTextColor(TFT_WHITE);​
 +  tft.setCursor(55,​ 450);
 +  tft.setTextFont(1);​
 +  tft.setTextSize(2);​
 +
 +  tft.print("​The word was ");
 +  tft.setTextColor(TFT_GREEN);​
 +  tft.print(selected_word);​
 } }
 </​code>​ </​code>​
Line 201: Line 220:
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-În aceste poze se observă aspectul ​ecranului LCD în urma câștigării sau pierderii unui joc. +În aceste poze se observă aspectul ​jocului ​în urma câștigării sau pierderii unui joc. 
-{{:​pm:​prj2024:​fgul:​joc_castigat_meli.jpeg?​400|}} {{:​pm:​prj2024:​fgul:​joc_pierdut_meli.jpeg?​400|}}+ 
 +{{:​pm:​prj2024:​fgul:​joc_castigat_meli.jpeg?​300|}} {{:​pm:​prj2024:​fgul:​joc_pierdut_meli.jpeg?​300|}} 
 + 
 +Am înregistrat,​ de asemenea, și un videoclip cu o demonstrație a jocului: 
 +[[https://​youtu.be/​dMNiMV62YKY?​si=VYDA2w41k3JlcXBG|Wordle - Proiect PM]]
 ===== Concluzii ===== ===== Concluzii =====
  
Line 211: Line 234:
 ===== Jurnal ===== ===== Jurnal =====
  
-<note tip> +  * 22.04 - Alegere temă proiect 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului+  * 30.04 - Creare pagină OCW 
-</​note>​ +  * 04.05 - Comandare componente hardware 
 +  * 05.05 - Documentație inițială OCW 
 +  * 16.05 - Schemă electrică + testare componente hardware 
 +  * 19.05 - Finalizare hardware 
 +  * 25.05 - Finalizare software 
 +  * 26.05 - Finalizare pagină OCW
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 === Resurse Hardware === === Resurse Hardware ===
-[[https://​www.optimusdigital.ro/​ro/​|Optimus Digital]] - achiziționarea componentelor hardware+  * [[https://​www.optimusdigital.ro/​ro/​|Optimus Digital]] - achiziționarea componentelor hardware
  
 === Resurse Software === === Resurse Software ===
pm/prj2024/fgul/melania.marian.1716738981.txt.gz · Last modified: 2024/05/26 18:56 by melania.marian
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