Differences

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

Link to this comparison view

pm:prj2021:agrigore:joc_x_si_0 [2021/05/31 09:01]
irina.grigore0702 [Software Design]
pm:prj2021:agrigore:joc_x_si_0 [2021/05/31 09:27] (current)
irina.grigore0702
Line 45: Line 45:
 === Detalii Implemetare === === Detalii Implemetare ===
 Ca si structura de date am folosit un vector de int-uri pentru a retine starea tablei. Ca si structura de date am folosit un vector de int-uri pentru a retine starea tablei.
-Pentru inceput desenez primul ecran cu ajutorul functiilor din libraria Adafruit_GFX.h. Dupa un delay prestabilit apare cel de-al doilea ecran unde jucatorul este pus sa aleaga X sau 0. In acest moment, programul asteapta ca ecranul sa fie atins, iar in functie de coordonatele x si y determina ce buton a fost apasat. In continuare, daca jucatorul a apasat pe X, pe ecran se va afisa mesajul "​Player VS Arduino""​ ceea ce inseamna ca player-ul incepe jocul, iar daca a apasat pe 0, mesajul afisat va fi "​Arduiono VS Player",​ iar in acest caz arduino va incepe jocul, mai exact este apelata functia playGame(). Pentru ca arduino sa marcheze o casuta de joc, se retin pozitiile libere din vector, apoi se alege random una dintre aceste pozitii, iar in cazul player-ului in functie de coordonatele x si y determinate in urma atingerii ecranului, se verifica in ce casuta se incadreaza, iar apoi este desemnat semnul corespunzator pe ecran. ​ Casutele sunt marcate pana cand numarul mutarilor disponibile ajunge la maxim sau pana cand pe linie/​coloana/​diagonala se afla numai X sau numai 0. Dupa terminarea jocului pe ecran va aparea un buton care permite reluarea jocului. Daca acesta este apasat, sunt reinitializare variabilele folosite,​iar jucatorul este pus din nou sa aleaga.+Pentru inceput desenez primul ecran cu ajutorul functiilor din libraria Adafruit_GFX.h. Dupa un delay prestabilit apare cel de-al doilea ecran unde jucatorul este pus sa aleaga X sau 0. In acest moment, programul asteapta ca ecranul sa fie atins, iar in functie de coordonatele x si y determina ce buton a fost apasat. In continuare, daca jucatorul a apasat pe X, pe ecran se va afisa mesajul "​Player VS Arduino""​ ceea ce inseamna ca player-ul incepe jocul, iar daca a apasat pe 0, mesajul afisat va fi "​Arduiono VS Player",​ iar in acest caz arduino va incepe jocul, mai exact este apelata functia playGame(). Pentru ca arduino sa marcheze o casuta de joc, se retin pozitiile libere din vector, apoi se alege random una dintre aceste pozitii, iar in cazul player-ului in functie de coordonatele x si y determinate in urma atingerii ecranului, se verifica in ce casuta se incadreaza, iar apoi este desemnat semnul corespunzator pe ecran. ​ Casutele sunt marcate pana cand numarul mutarilor disponibile ajunge la maxim sau pana cand pe linie/​coloana/​diagonala se afla numai X sau numai 0. Dupa terminarea jocului pe ecran va aparea un buton care permite reluarea jocului. Daca acesta este apasat, sunt reinitializare variabilele folosite, iar jucatorul este pus din nou sa aleaga.
 ===== Rezultate obtinute ===== ===== Rezultate obtinute =====
 {{:​pm:​prj2021:​agrigore:​grigore_irina_1.jpeg?​300|}} {{:​pm:​prj2021:​agrigore:​grigore_irina_1.jpeg?​300|}}
Line 63: Line 63:
   * Ca si functionalitati suplimentare,​ poate fi implementat un algoritm mai inteligent care sa joace, si de asemenea, la jocuri repetate poate fi adaugat un scor care sa contorizeze cate meciuri au fost castigate de fiecare player.   * Ca si functionalitati suplimentare,​ poate fi implementat un algoritm mai inteligent care sa joace, si de asemenea, la jocuri repetate poate fi adaugat un scor care sa contorizeze cate meciuri au fost castigate de fiecare player.
 ===== Download ===== ===== Download =====
-  * TBD+  * {{:​pm:​prj2021:​agrigore:​tic_tac_toe_cod_sursa.zip|}}
  
 ===== Jurnal ===== ===== Jurnal =====
Line 80: Line 80:
   * https://​github.com/​adafruit/​Adafruit-GFX-Library   * https://​github.com/​adafruit/​Adafruit-GFX-Library
   * https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab5-2021   * https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab5-2021
 +{{:​pm:​prj2021:​agrigore:​joc_x_si_0_pdf.pdf|}}
pm/prj2021/agrigore/joc_x_si_0.1622440915.txt.gz · Last modified: 2021/05/31 09:01 by irina.grigore0702
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