This shows you the differences between two versions of the page.
| pm:prj2021:avaduva:xsi0 [2021/05/22 21:30] cristina.balasoiu [Software Design] | 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: | + | ==== Functii folosite ==== | 
| * setup | * setup | ||
| - pornirea LCD-ului | - pornirea LCD-ului | ||
| Line 61: | 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 71: | 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]] | ||