Sunteți pe pagina 1din 6

1.

(tutorial) Folosire mesaje în Scratch


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.

Dă click pe fiecare sprite din zona cu sprite-uri și apoi uită-te în program folosind meniul „Scripts“.
Î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.

2. Resetare scor și mingi


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ă.

Fă în așa fel încât, după ce este atinsă ultima minge, adică după ce scorul devine 3, să aibă loc
următoarele:
 să fie resetat scorul la zero (adică să fie pusă variabila scor la valoarea zero)
 să fie trimis un mesaj 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.

3. Resetare poziție pisică


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.

În programul sprite-ului pisică trebuie să ai, de asemenea, un bloc When I receive game-over.


Când pisica primește mesajul game-over, este plasată în poziția centrală a planșei.

4. Mesaje diferite din partea câinelui


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:

 Bravo, mai ai doua mingi de strans!


 Bravo, mai ai o singura minge de strans!
 Bravo, ai strans toate mingile.
Cel mai simplu este să pui un set de blocuri if în programul sprite-ului câine. În conditii verifici dacă
scorul este 1, 2 sau 3.

5. Mai multe mingi


Continuă programul anterior și pune 5 mingi pe planșă.

Poți da click dreapta pe sprite-ul minge și selecta opțiunea „Duplicate“.


Trebuie să ajungă acum scorul la 5 înainte să fie resetat iar câinele să spună, pe rând:

 Bravo, mai ai patru mingi de strans!


 Bravo, mai ai trei mingi de strans!
 Bravo, mai ai doua mingi de strans!
 Bravo, mai ai o singura minge de strans!
 Bravo, ai strans toate mingile.
Parcurge toate programele sprite-urilor și fă-le să meargă cu 5 mingi, nu doar cu 3.

Bonus 1: Scor cu cerculețe roșii


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
Bonus 2: Încă un sprite și alternanță la strâns mingi
Hai să strângem mingi cu mai multe sprite-uri. Mai pune pe planșă un sprite fluture. Vrem să facem
așa:

 pisica strânge o minge, apoi lasă pe fluture să strângă


 fluturele stânge o minge, apoi lasă pisica să strângă.
 și așa mai departe
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.

Programul pentru fluture este similar celui pentru pisică. Copiază programul din pisică cu drag peste
sprite-ul fluture.
Este dificil să folosești mesaje. Cel mai bine, în funcție de tipul scorului, decizi ce faci:
 dacă scorul este par atunci te miști, spre exemplu, cu pisica
 dacă scorul este impar atunci te miști, spre exemplu, cu fluturele
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.
Arată cum
Acum ai clonat proiectul și poți lucra la propria versiune! Vrem ca nava spațială să pornească de pe
planetă și să ajungă pe Pământ.

Mișcarea planetei și a Pământului

Când se apasă stegulețul verde, adică atunci când începe programul, planeta din
stânga jos și Pământul trebuie să rotească pe loc mereu.

Folosește o buclă necondiționată și instrucțiunea turn 15 degrees. Poți schimba numărul de grade


pentru ca rotația să fie mai rapidă sau mai lentă.

Mișcarea navei spațiale

De asemenea, când se apasă stegulețul verde, nava spațială va pleca de pe planetă


și va ateriza pe Pâmânt. Se va reseta poziția navei la anumite coordonate astfel încât la începerea
programului nava se află întotdeauna pe planetă.

Folosește o instrucțiune de forma go to x: .. y: .. din secțiunea Motion. Completează cu valorile


potrivite pentru coordonata x și y. Cum ai aflat aceste valori?
Nava va zbura prin spațiu până când ajunge la Pământ. Într-o buclă forever, primul lucru care
trebuie să-l faci este să setezi direcția sa. Apoi, să o muți pe aceea direcție un număr de pași. După
fiecare mutare, verifică dacă ai ajuns pe Pământ. Urmărește textul de mai jos.

Îndreaptă nava câtre Pâmânt. Folosește instrucțiunea point towards Earth din secțiunea Motion.


Observă că poți selecta oricare obiect/sprite ca direcție, iar sprite-ul corespunzător Pământului se
numește Earth.

Mută un număr de pași. Folosește move din secțiunea Motion.

Pentru a verifica dacă a ajuns pe Pâmânt folosește o instrucțiune din secțiunea Sensing.

Dacă a ajuns pe Pământ, oprește toate acțiunile. Cum ai făcut asta?

Creează o variabilă „distanță“ care inițial va fi 0 și care se va schimba cu numărul de pași pe care îi
face nava.

Schimbă bucla forever într-o buclă repeat until. Singura diferență va consta în a pune condiția de


oprire după „until“ și nu în interiorul buclei cu ajutorul unei condiții, cum am făcut cu bucla forever.

Bonus
Bonus 1: Evenimente

Acum că nava a ajuns cu bine pe Pâmânt, vrem să ca extraterestrul nostru să


viziteze Pământul. Pentru asta, adaugă un eveniment „aterizat“ pentru când nava ajunge pe
Pământ. În acel moment, se schimbă fundalul cu un loc de pe Pâmănt (extraterestrul poate ajunge
chiar și în deșert sau într-o sală de teatru).

Pe lângă schimbarea fundalului, ascunde Pământul, planeta, soarele și nava. În locul lor, va apărea
un Sprite cu extraterestrul nostru explorator.

Bonus 2: Variabile și operatori

Dacă distanța pe care a parcurs-o este mai mare ca 200, extraterestrul va spune că drumul a fost
lung. Altfel, va spune că a fost scurt. Folosește operatori de comparație.

Bonus 3: Liste

La meniul Data, aveți posibilitatea de a crea o listă. O listă este o înșiruire de cuvinte sau de
numere, de exemplu. Realizați un program în Scratch în care să aveți o listă de 10 cuvinte. Un sprite
va spune aleator un cuvânt din listă la infinit. Când spune cuvântul, va trebui să și apară obiectul
echivalent cuvântului în scenă, așteaptă 1 sec și dispare înainte să spună următorul cuvânt.

Lucru pentru acasă


Fii creativ! Extraterestrul nostru va merge într-o aventură după ce ajunge pe Pământ. Ce aventură
rămâne la alegerea ta (poți face un labirint, de exemplu). Pentru rezolvarea în Scratch folosește cel
puțin o variabilă și condiții cu operatori!

https://www.competentedigitale.ro/diverse/scratch.php

S-ar putea să vă placă și