Astăzi vom face o recapitulare a noțiunilor de vector și tablou construind un mic joc. La începutul lecției, vom verifica exercițiul pentru acasă.
Scrie un program în Khan în care să desenezi un tablou cu dreptunghiuri ca în imagine.
Cum desenăm dreptunghiuri rotunjite la colț.
Apasă aici pentru a ascunde textul
Pentru a desena dreptunghiuri rotunjit, poți scrie funcția rect
cu încă un parametru la final. În imaginea din exemplu, dreptunghiurile au colțurile rotunjite cu valoarea 10:
rect(x_coord, y_coord, width, height, 10);
Astăzi vei scrie un joc numit „Matching pairs“ (în română se traduce prin „Găsește perechile“). Scopul jocului este să găsești toate imaginile care sunt perechi din cât mai puțini pași. La un pas, poți întoarce 2 cărți cu fața în sus. Dacă sunt pereche, ele rămân cu fața în sus, altfel ele sunt întoarse cu fața în jos după scurt timp. La final, va fi afișat un text cu numărul de pași efectuați.
Modifică programul de la exercițiul anterior pentru a desena 8 perechi de imagini diferite pe fiecare pătrat. Pentru a rezolva jocul, vei avea nevoie de un tablou cu indicii imaginilor. Programul de mai jos desenează imaginea din stânga. Modifică programul pentru a obține imaginea din dreapta.
Apasă aici pentru a arăta mai multe explicații
Apasă aici pentru a ascunde detaliile
Programul creează și inițializează un tablou cu perechi de valori random, tu vei desena dreptunghiurile de la exercițiul 1 și peste ele imaginile din vectorul de imagini care corespund cu indicii.
Made using: Khan Academy Computer Science.
Îți mai aduci aminte cum puteai verifica dacă s-a făcut click cu mouse-ul? Dar care sunt coordonatele mouse-ului?
mouseClicked
.mouseX
.mouseY
.
Uită-te în exemplul de mai jos cum este făcut acest lucru. Dă de mai multe ori click pe dreptunghi pentru a observa ce se întâmplă. După ce ți-ai amintit cum funcționează mouseClicked
, mouseX
și mouseY
, modifică programul de la exercițiul 2 astfel încât toate imaginile să poată fi afișate în acest mod.
Made using: Khan Academy Computer Science.
Modifică programul de la exercițiul 3 pentru a nu afișa decât maxim 2 imagini simultan. când vei face click pe imaginea a treia, cele anterioare vor dispărea (chiar dacă sunt pereche).
Apasă aici pentru indicații detaliate
Apasă aici pentru a ascunde indicațiile
Poți urma pașii de mai jos.
selected
); inițial, selected
va fi 0i1
, j1
, i2
, j2
)
* Mod de gândire: adaugă în funcția mouseClicked
niște condiții (if
-uri) care să verifice cum vei schimba starea jocului.
selected
este 0 sau 2:selected
este 2:(i1, j1)
și (i2, j2)
.selected
devine 1i1
și j1
.(i1, j1)
.selected
este 1:i1
și j1
):selected
devine 0(i1, j1)
.selected
devine 2i2
și j2
.(i2, j2)
.
Acum modifică programul de la exercițiul 4 pentru a nu afișa decât:
Apasă aici pentru indicații detaliate
Apasă aici pentru a ascunde indicațiile
Poți urma pașii de mai jos. Față de exercițiul anterior, lucrurile noi sunt scrise îngroșat.
selected
); inițial, selected
va fi 0i1
, j1
, i2
, j2
)
* Mod de gândire: adaugă în funcția mouseClicked
niște condiții (if
-uri) care să verifice cum vei schimba starea jocului.
selected
este 0 sau 2 și s-a dat click pe imagine neîmperecheată:selected
este 2, vei face asta mai josselected
devine 1i1
și j1
.(i1, j1)
.selected
este 1:i1
și j1
):selected
devine 0(i1, j1)
.selected
devine 2.i2
și j2
.(i2, j2)
.(i1, j1)
și (i2, j2)
sunt pereche:selected
devine 0
Afișează la final un mesaj după ce au fost găsite toate perechile. Dacă te simți în stare, afișează la final câte perechi de imagini au fost încercate pentru a termina. Dacă nu îți plac imaginile alese, pune tu altele.
Termină acest joc dacă nu l-ai terminat.