This shows you the differences between two versions of the page.
pm:prj2021:avaduva:xsi0 [2021/05/22 21:31] cristina.balasoiu [Software Design] |
pm:prj2021:avaduva:xsi0 [2021/05/22 21:56] (current) cristina.balasoiu |
||
---|---|---|---|
Line 38: | Line 38: | ||
* 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]] |