Differences

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

Link to this comparison view

pm:prj2021:avaduva:xsi0 [2021/05/22 21:21]
cristina.balasoiu [Lista de componente]
pm:prj2021:avaduva:xsi0 [2021/05/22 21:56] (current)
cristina.balasoiu
Line 37: Line 37:
       - LiquidCrystal.h (pentru ecranul LCD)       - LiquidCrystal.h (pentru ecranul LCD)
   * algoritmul: ​   * algoritmul: ​
-    Algoritmul creeaza o mapare intre butoanele 1-9 ale keypad-ului si cele 9 leduri conectate pentru a simula tabla de joc. Fiecare apasare a unuia dintre butoanele mentionate reprezinta o mutare. Se utilizeaza o variabila player initiata cu 1 pentru a retine jucatorul curent. Aceasta poate avea valorile 1 sau -1. La fiecare mutare se face switch intre jucatori (player *= -1) pentru a aprinde ledul corespunzator butonului apasat in culoarea jucatorului corespunzator si se verifica daca s-a creat un sir consecutiv de 3 culori identice pe oricare linie, coloana sau diagonala sau, in caz contrar, daca tabla este plina (remiza). Daca s-a detectat oricare dintre cele 3 rezultate posibile de finalizare a jocului (X castiga, 0 castiga sau remiza), acesta va fi afisat pe ecranul LCD impreuna cu scorul. Exista posibilitatea de incepere a unui joc nou prin apsarea butonului de reset, moment in care ledurile se vor intoarce la culoarea default (alb), matricea folosita pentru retinerea apasarilor efctuate de jucatori e reinitiata iar rezultatul jocului anterior este sters de pe ecranul LCD.  +    Algoritmul creeaza o mapare intre butoanele 1-9 ale keypad-ului si cele 9 leduri conectate pentru a simula tabla de joc. Fiecare apasare a unuia dintre butoanele mentionate reprezinta o mutare. Se utilizeaza o variabila player initiata cu 1 pentru a retine jucatorul curent. Aceasta poate avea valorile 1 sau -1. La fiecare mutare se face switch intre jucatori (player *= -1) pentru a aprinde ledul corespunzator butonului apasat in culoarea jucatorului corespunzator si se verifica daca s-a creat un sir consecutiv de 3 culori identice pe oricare linie, coloana sau diagonala sau, in caz contrar, daca tabla este plina (remiza). Daca s-a detectat oricare dintre cele 3 rezultate posibile de finalizare a jocului (X castiga, 0 castiga sau remiza), acesta va fi afisat pe ecranul LCD impreuna cu scorul. Exista posibilitatea de incepere a unui joc nou prin apsarea butonului de reset, moment in care ledurile se vor intoarce la culoarea default (alb), matricea folosita pentru retinerea apasarilor efctuate de jucatori e reinitiata iar rezultatul jocului anterior este sters de pe ecranul LCD. 
 +==== Functii folosite ==== 
 +      * setup  
 +          - pornirea LCD-ului 
 +          - configurarea LCD-ului 
 +          - afisarea pe LCD a mesajului default 
 +          - initializarea led-urilor 
 +      * loop 
 +          - primirea datelor de la keypad si de la butonul de reset 
 +          - setarea culorilor ledurilor 
 +          - afisarea mesajului corespunzator in functie de rezultatul jocului 
 +      * checkWin  
 +          - verifica stateul jocului dupa fiecare mutare (daca a castigat X sau 0 sau daca e remiza sau daca jocul continua)
  
 ===== Rezultate obtinute ===== ===== Rezultate obtinute =====
Line 49: Line 61:
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download ​=====+==== Download ====
 {{:​pm:​prj2021:​avaduva:​balasoiu_cristina_ioana_333cc_resurse.zip|}} {{:​pm:​prj2021:​avaduva:​balasoiu_cristina_ioana_333cc_resurse.zip|}}
-===== Jurnal ​=====+==== Jurnal ====
   * Etapa 1:   * Etapa 1:
     Dezvoltarea codului de baza si a circuitului pe platforma [[https://​www.tinkercad.com/​]] pentru a putea realiza mai usor o lista cu piesele necesare pentru ideea de proiect aleasa.     Dezvoltarea codului de baza si a circuitului pe platforma [[https://​www.tinkercad.com/​]] pentru a putea realiza mai usor o lista cu piesele necesare pentru ideea de proiect aleasa.
Line 59: Line 71:
     Asamblarea efectiva a partii hardware, adaptarea codului si testarea rezultatului final     Asamblarea efectiva a partii hardware, adaptarea codului si testarea rezultatului final
  
-===== Bibiliografie/​Resurse ​=====+==== Bibiliografie/​Resurse ====
 [[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​avaduva/​xsi0]] [[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​avaduva/​xsi0]]
 [[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​avaduva/​xsi0?​do=export_pdf]] [[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​avaduva/​xsi0?​do=export_pdf]]
pm/prj2021/avaduva/xsi0.1621707709.txt.gz · Last modified: 2021/05/22 21:21 by cristina.balasoiu
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