This shows you the differences between two versions of the page.
|
pm:prj2022:avaduva:marian.lupuleasa [2022/06/01 19:33] marian.lupuleasa [Rezultate Obţinute] |
pm:prj2022:avaduva:marian.lupuleasa [2022/06/01 21:03] (current) marian.lupuleasa [Rezultate Obţinute] |
||
|---|---|---|---|
| Line 21: | Line 21: | ||
| ===== Descriere Generală ===== | ===== Descriere Generală ===== | ||
| - | Vor exista 2 jucători care vor plasa, alternativ, piese pe grid (matrice de LED-uri de dimensiune 8x8). | + | Vor exista 2 jucători care vor plasa, alternativ, piese pe grid (matrice de LED-uri de dimensiune 4x4). |
| - | Deoarece în jocul de bază grid-ul este în poziție verticală, piesele se vor plasa pe o anumită coloană, piesa "căzând" și fiind ocupată poziția cea mai de jos a coloanei respective. | + | Cu ajutorul a 2 butoane, playerii pot selecta poziția pe care vor plasa piesa (dreapta/jos) și confirmarea selecției se va face cu un al 3-lea buton. După confirmarea selecției, este rândul celuilalt player să își facă mișcarea. |
| - | + | ||
| - | Cu ajutorul a 2 butoane, playerii pot selecta coloana pe care vor plasa piesa (stânga-dreapta) și confirmarea selecției se va face cu un al 3-lea buton. După confirmarea selecției, este rândul celuilalt player să își facă mișcarea. | + | |
| La fiecare confirmare a selecției, se va verifica dacă pe grid există o secvență de 4 piese de aceeași culoare (în orice direcție) și, în caz afirmativ, jocul se va termina. | La fiecare confirmare a selecției, se va verifica dacă pe grid există o secvență de 4 piese de aceeași culoare (în orice direcție) și, în caz afirmativ, jocul se va termina. | ||
| Line 33: | Line 31: | ||
| * Arduino UNO | * Arduino UNO | ||
| * Breadboard | * Breadboard | ||
| - | * 3 Butoane (2 pentru selectarea coloanei, 1 pentru confirmarea plasării piesei) | + | * 3 Butoane (2 pentru selectarea poziției, 1 pentru confirmarea plasării piesei) |
| * Buzzer (sunet pentru terminarea unei runde, sunet pentru câștigarea unui anumit număr de runde, sunet pentru semnalizarea player-ului a cărui rând este) | * Buzzer (sunet pentru terminarea unei runde, sunet pentru câștigarea unui anumit număr de runde, sunet pentru semnalizarea player-ului a cărui rând este) | ||
| * Fire | * Fire | ||
| - | * LCD (afișarea playerului care trebuie să își plaseze piesa, afișarea câștigătorului unei runde, afișarea scorului) | + | * LCD I2C (afișarea playerului care trebuie să își plaseze piesa, afișarea câștigătorului unei runde, afișarea scorului) |
| * Matrice de LED-uri (reprezentarea gridului) | * Matrice de LED-uri (reprezentarea gridului) | ||
| * Rezistente | * Rezistente | ||
| Line 64: | Line 62: | ||
| * simulez scenariul de joc prin alternarea rândului jucătorilor, aprinderea LED-urilor, activarea buzzer-ului și afișarea de text pe ecranul LCD | * simulez scenariul de joc prin alternarea rândului jucătorilor, aprinderea LED-urilor, activarea buzzer-ului și afișarea de text pe ecranul LCD | ||
| + | Funcții: | ||
| + | * selectRow(int nr): setează pinii corespunzători rândului nr pe LOW pentru a putea fi aprinși | ||
| + | * select(Red/Green)Col(int nr, int state): setează pinii corespunzători rândului nr pe state | ||
| + | * fourConnect(int* arr, int player): verifică dacă player-ul curent a câștigat jocul | ||
| + | |||
| + | Logica codului: | ||
| + | * mă folosesc de 2 matrice: green și red, pentru a ține minte care LED-uri trebuie aprinse și care nu la orice moment al jocului | ||
| + | * în orice moment al jocului, poziția curentă în matrice va fi marcată de un LED aprins provizoriu, până când player-ul confirmă selecția | ||
| + | * navigarea se face cu ajutorul a două butoane, unul care mișcă poziția jucătorului la dreapta și unul care o mișcă în jos | ||
| + | * după fiecare selecție, se verifică dacă jucătorul a câștigat runda respectivă și, dacă da, se incrementează scorul și se resetează jocul | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| Line 70: | Line 78: | ||
| {{:pm:prj2022:avaduva:whatsapp_image_2022-06-01_at_7.29.12_pm.jpeg?500|}} | {{:pm:prj2022:avaduva:whatsapp_image_2022-06-01_at_7.29.12_pm.jpeg?500|}} | ||
| - | {{:pm:prj2022:avaduva:whatsapp_image_2022-06-01_at_7.29.11_pm_1_.jpeg?500|}} | + | {{:pm:prj2022:avaduva:whatsapp_image_2022-06-01_at_7.29.12_pm_1_.jpeg?500|}} |
| + | |||
| + | Link Demo: | ||
| + | [[https://youtu.be/169sOtUbzFk]] | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||