Bine te regăsim la a treia lecție legată de condiții. Astăzi vei afla despre semnalarea unei condiții într-un alt bloc sau unui alt sprite folosind mesaje în Scratch.
Până să verifice instructorii lucrul pentru acasă de la lecția trecută, hai să facem câteva exerciții scurte pe hârtie legate de operatori. Completează, pe caiet, zonele marcate cu puncte de mai jos cu operatori de forma:
>
(mai mare decât)=
(egal cu)<
(mai mic decât)not =
(nu egal cu)and
(ȘI)or
(SAU)if varsta ... 17 say "Ești major." if luna ... 2 ... luna ... 6 say "Este primavara." if zi ... "sambata" say "Azi merg la DigitalKids." if pet ... "pisica" ... pet ... "caine" ... pet ... "hamster" say "Animalul tau de casa este mamifer." if lifes ... 1 say "Ai murit. Incepe din nou jocul." if zi ... 8 ... luna ... 3 say "Azi este ziua femeii." if instructor ... "Teo" ... instructor ... "Flori" ... instructor ... "Ada" say "Suntem la modulul M6, condiții". if n mod 2 ... 0 say "Este număr impar." if viteza ... 340 m/s say "Ești mai rapid decat viteza sunetului."
Mesajele în Scratch sunt transmise de la un sprite la alt sprite în momentul producerii unui eveniment. De exemplu, dacă un sprite a realizat o acțiune atunci dorește să comunice acea acțiune și altui sprite în forma unui mesaj. Pentru aceasta folosim blocurile „broadcast message“ și „When I receive message“, din setul „Events“.
Blocul „broadcast message“ trimite un mesaj către toți cei care așteaptă mesaj. Blocul „When I receive message“ așteaptă un mesaj să fie primit; programul este blocat în blocul „When I receive message“ până când mesajul este blocat.
Hai să vedem cum funcționează în exemplul Scratch de aici. Deschide exemplul și creează un remix în Scratch.
Rulează programul în Scratch folosind steagul verde. Uită-te peste programul fiecărui sprite din Scratch.
În exemplul de mai sus, ori de câte ori pisica atinge o minge, câinele spune un mesaj. Pentru acesta, la atingerea mingii, mingea execută acțiunea „brodcast minge-atinsa“. Mesajul „minge-atinsa“ este acum transmis către sprite-ul „câine“. Aceasta așteaptă mesajul în blocul „When I receive minge-atinsa“. În momentul primirii mesajului, funcție de numărul de mingi atinse, afișează un mesaj.
Bravo, ai văzut cum funcționează mesajele în Scratch.
Acum că ai văzut cum funcționează mesajele în Scratch, hai să facem programul mai bun. Pentru început fă în așa fel încât, după ce pisica prinde cele trei mingi, să fie resetat scorul la zero și mingile să reapară.
scor
la valoarea zero)game-over
folosind blocul broadcast
.
În momentul în care o minge primește mesajul game-over
, folosind blocul When I receive game-over
atunci mingea reapare.
Trebuie să implementezi aceste schimbări pentru programul tuturor celor trei mingi.
Poți face drag pe un program peste alt sprite ca să copiezi programul în acel sprite.
Continuă programul dinainte și fă în așa fel încât să fie pusă pisică în poziția centrală a planșei după ce toate mingile sunt atinse.
When I receive game-over
. Când pisica primește mesajul game-over
, este plasată în poziția centrală a planșei.
Continuă programul anterior și fă în așa fel încât câinele să afișeze mesajele următoare, după ce pisica a atins câte o minge:
if
în programul sprite-ului câine. În conditii verifici dacă scorul este 1
, 2
sau 3
.
Continuă programul anterior și pune 5 mingi pe planșă.
Trebuie să ajungă acum scorul la 5 înainte să fie resetat iar câinele să spună, pe rând:
Vrem să afișăm mai frumos scorul. Pentru aceasta vom folosi sprite-uri în formă de cerculețe roșii mici (creează-le chiar tu). La început vom afișa 5 cerculețe roșii, apoi 4, apoi 3, apoi 2, apoi un singur cerculeț și la final nici unul. Un cerculeț dispare în momentul în care pisica atinge o minge. La resetare toate cerculețele reapar.
Continuați programul și adăugați această funcționalitate: să ținem scorul cu cerculețele roșii. Pune cerculețele în stânga sus. Nu mai afișa variabila „scor“; este mai frumos să apară doar cerculețele.
Cel mai bine scrii programul pentru un cerculeț, apoi îl duplici și îl modifici.
Ai nevoie de trei blocuri When …
pentru fiecare cerculeț:
When green flag clicked
When I receive minge-atinsa
When I receive game-over
Hai să strângem mingi cu mai multe sprite-uri. Mai pune pe planșă un sprite fluture. Vrem să facem așa:
Adică vom folosi tastele săgeți să mutăm pisica și, după ce strângem o minge, vom controla fluturele (adică vom folosi tastele săgeți ca să mutăm fluturele). Și tot așa.
Este dificil să folosești mesaje. Cel mai bine, în funcție de tipul scorului, decizi ce faci:
E nevoie de actualizări și în programul sprite-urilor de tip minge. Acestea trebuie să crească scorul dacă sunt atinse de pisică SAU de fluture.
Gândește-te la un program simplu care să folosească mesaje și scrie-l în Scratch.
Implementează jocul Pong în Scratch.