Bucle 39
Bucle 39
SCRATCH
PENTRU COPII 10-14 ANI
Table of Contents
Type chapter title (level 1).................................................................................................................1
Type chapter title (level 2)..................................................................................................................2
Type chapter title (level 3)..............................................................................................................3
Type chapter title (level 1).................................................................................................................4
Type chapter title (level 2)..................................................................................................................5
Type chapter title (level 3)..............................................................................................................6
Adaugarea bulelor de dialog pentru a face actorii sa vorbeasca atunci cand se schimba costumele.
Folosim blockul Say hello!for 2 secs si schimbam textul din acesta pentru a face actorul sa spuna
altceva.
balerina spune up pentru o secunda, balerina se ridica
balerina se ghemuieste si spune down Block-urile violet Looks apar/reapar actoriise maresc sau se
micsoreaza. Ascunderea actorilor - pentru aceasta folosim block-ul hide cu acesta actorul se afla
inca pe scena si se mai poate misca dar nu poate fi vazut daca nu este folosit block-ul show pentru a
fi vizibil din nou.
Ascunde si arata - folosim block-ul hide pentru a face un actor sa dispara, iar ca sa-l facem sa apara
din nou apasam pe show. Acestea se asesc in sectiunea Looks din paleta de block-uri.
Pisica disparuta - aceasta apare/reapare dar continua sa se miste chiar daca nu o putem vedea.
ca scriptul sa ruleze apasam pe steagul verde
-in bucla forever avem
-scriptul asteapta o secunda
-hide bloc ce ascunde pisica
-turn 90 degree-acest block roteste pisica in sensul acelor de ceasornic
-pisica se misca si atunci cand este ascunsa
-show block ce arata din nou pisica
Dimenisiuni si efecte un script poate schimba dimensiunea unui actor si a-i adauga efecte.
change size by10 - introducem numere pozitive pentru a face actorii mai mari si numere negative
pentru a face actorii mai mici
set size to 100%-numerele mai mari fac actorii maimari iar numere mai mici ii sa se micsoreze
change pixelate effectby25- alege tipul de efect din meniul extins, aacesta face ca actorul sa nu para
foarte clar, schimbam numerele din block-uri pentru a stabili cat de puternic este un efect
1
set color effect to 0 -fiecare culoare este reprezentata de un numar pe care-l schimbam pentru a
stabili culoarea
clear graphic effects-reseteaza toate efectele -adaugarea unor efecte grafice ca sa schimbam
infatisarea actorului sau pentru a-i modifica forma
Utilizarea efectelor pentru teleportare- adauga un actor fantoma din categoria Fantasy astfel incat sa
para ca se teleporteaza cand dam click pe ea
when this sprite clicked
clear graphic effects
repeta de 20 de ori - change ghost effect by 5 -efectul fantoma face ca actorul sa dispara treptat
repetand acest block de 20 de ori actorul o sa dispara complet
glide 0.1secs to x pic random -150 to 150 y pick random -150to 150 block-ul Operators seleecteaza o
pozitie orizotala la intamplare sau selecteaza o pozitie verticala la alegere, acest block face fantoma
sa se miste incet ascunsa vederii
change ghost effect by-5 acest block face ca actorul sa reapara incet
Evenimente Blocurile maro Eventsdin Scratch deruleaza scripturi cand se apasa pe o tasta, facem
click pe un actor sau folosim o camera web sau un microfon . Un eveniment este un lucru care se
intampla click pe steagul verde.
-blocurile care gestioneaza evenimentele se duc in partea de sus a scriptului care asteapta pana ce
evenimentul are loc si apoi ruleaza.
-when this sprite clicked din meniul Events tragem acest block pentru a porni scriptul
-play sound meow until done- pisica are acest efect sonor atasat, pisica miauna cand dam click pe
actor
Cand apasam o tasta un program poate reactiona cand apasam diferite taste
when H key pressed
say hello for 1 secs -actorul spune salut atunci cand este apsata tasta h
When g key pressed algem tasta
say goodbye for 1secs -schimba textul - la apsarea testei g actorul spune Goodbye
Evenimente sonore- Actorii pot detecta cat de puternice sunt sunetele dintr-o incapere de la 0-incet
pana la 100 foarte tare
Block-ul Whwn loudness>10 pentru a face scriptul sa porneasca atunci cand sunetele sent foarte
puternice.
Pisica sensibila la zgomot
-adaugam imaginea din fundal room3 din biblioteca de fundaluri
Striga in microfon - pisica sare din scaun si miauna
when loudness>40 schimbam numarul in 40
go to x145 y 130 - face pisica sa sara
play sound meow until done
go to x 145 y0 -asta face pisica sa cada la loc
Detector de miscare prin camere web
when video motion>40 schimbam numarul in 40
play sound meow until done detecteaza miscarea folosind blockul whwn loudness>10 dam click pe
meniu pentru a schimba loudness in video motion. Scriptul porneste cand ne miscam prin jur destul
de mult
Schimbarea fundalului - un actor poate reactiona la schimbarea fundalului inca re actorul sa
disparaapoi adaugam block-ul when backdrop switches to backdrop1 pentru a face aceasta.
when backdrop switches to desert
hide ascunde actorul cand se schimba fundalul
Bucle simple - este o parte a unui program care se repeta
Din sectiunea Control blocurile de bucla ne spun ce blocuri se repeta si de cate ori.
-bucla forever toate blocurile din blocul forever se vor repeat la nesfarsit, nu putem lipi ceva la final
pentru ca bucla forever nu se termina niciodata. Cand se ternina ultimul block din bucla, acesta o ia
de la inceput
Forever - elibereaza blocurile in aceasta bucla pentru a repeta actiunile la nesfarsit
-move 10steps, if on edge, bounce cand cele 2 blocuri se termina programul merge din nou la
inceputul buclei
Repeat lop
2
pentru a repeta o actiune de un anumit numar de ori, folosim blocul repeat 10. Schimbam numarul
din acesta pentru a stabili de cate ori se va repeta bucla. Actorul Dinosaur1 este adaugat la un nou
proiect.
-when clicked
-repeat 3 - o blucla ce se repeta de 3 ori
switch costume to dinosaur1-d -actorul se ridica in picioare
wait 0.5 secs - asteapta 0.5 secunde
switch costume to dinosau1-c actorul sta intr-un picior
wait 0.5 secs apoi putem adauga mai multe blocuri dupa o bucla repeat
Dinozaur dansator care repetaa miscarile de dans de 3 ori
Bucle in cuib adica pot fi puse una in alta, dinozaurul isi termina dansul mergand din stanga in
dreapta si se gandeste un moment apoi danseaza din nou si se opreste la click pe butonul rosu de
oprire. Bucla forever are alte bucle care se repeta in interirul ei
-blocul forever inconjoara tot codul
-in prima bucla repeat 3 miscarea de dans prima, apoi dinozaurul se misca 3 pasi la drepta, api avem
o mica pauza de o secunda, iar a 3 a bucla repeat in are dinozaurul se misca 3 pasi la stanga, ultimul
in care scriem un mesaj al actorlui care o sa apara intro bula.
Creioane si testoase in care fiecare actor are un creion care poate trasa o linie in spatele acxestuia
orinde se deplaseaza -activam creionul si miscam actorul pe scena. Blocuri verzi controleaza creionul
cand activam blocul pendown si dezactiva cand folosim blocul pen up. Clear-sterge toate desenele,
stamp lasa o imagine actorului.
3
pentru a desena un patrat punem creionul jos pe scena si miscamactorul in forma de patrat folosind
o bucla pentru a trasa cele 4 laturi prin intoarcere la colturi.
Ca sa schimbam forma Prima data codul deseneaza un patrat , iar pentru a desena un triunghi
schimbam bucla repeat de trei ori pentru cele 3 laturi si modifica intoarcerea de la 90 la 120 de
grade. pendown activeaza creionul, move 100 steps -traseaza o latura patratului, turn 90 degrees
intoarce la colturi, wait a secs asteapta o secunda sa vada ce se intampla.
4
Sa scriem pe cer in care controlam un avion. Acesta cand zboara lasa o dara de fum in urma lui astfel
incat sa desenam [Link] tastele stanga si dreapta pentru a intoarce avionul Activam fumul cu
tasta A si-l dezactivam cu tasta z. Apasam tasta de spatiu pentru a sterge [Link] doar culori
care apar pe interfata Scratch. Pentru a selecta rosu dam click in patrat si apoi butonul rosu de
deasupra scenei. Facem linia mai groasa. Bucla forever pastreaza avionul in miscare. if on edge
bounce - pastreaza avionul pe scena.
5
Grafica testoasei -utilizam actorii pentru a desena. Exista un tip de robot care se numeste testoasa si
care poate fi miscat pe podea pentru a trata desene. Primul limbaj de programare care a folosit
grafica testoasei se numei logo.
Variabile -in programare o variabila este numele dat locului unde poti stoca informatii. Acestea sunt
folosite pentru a ne aduce aminte de lucruri precum scorul, numele jucatorului sau viteza unui
personaj.
Crearea unei variabile pentru a o folosi in program utilizam sectiunea Data din paleta de blocuri unde
apra noi blocuri.
-1)crearea unei variabile -dam click pe butonul Data din paleta de blocuri apoi selectam make a
variable. Acestea sent ca niste cutiiin care poti depozita diferite fragmente de informatii pentru a le
folosi in programul nostru.
-2)dam un nume noii variabile care ne va ajuta sa ne aducem aminte fiecare ce face. selectam ce
actori vor folosi variabila apoi dam ok. Putem de asemenea, sa selectam ca doar un actor sa
foloseasca acea variabila.
-3)Odata creata noua variabila, in paleta de blocuri apar noi blocuri. Meniurile din aceste blocuri ne
lasa sa selectam variabila la care se aplica acestea daca am creat mai multe.
Utilizarea unei variabile - variabile pot fi utilizate pentru a schimba viteza unui actor.
1)setam valoarea unei variabile folosim blocul set steps to 0 si schimbam numarul in 5, tragem block-
ul move 10 steps in script dar lasa blocul variabile steps peste 10.
set steps to5 seteaza valoarea variabilei steps la 5
move steps steps steps inseamna 5 dupa cum a fost stabilita valoarea
schimbam valoarea unei variabile -utilizam blocul change blocul change steps by 1 pentru a creste
valoarea variabilei steps cu 1 pe care-l punem in interiorul blocului forever ca pisica sa devina
incontinuumai rapida. Vriabila steps din interiorul blockului forever continua sa creasca pe masura ce
bucla forever merge la infinit.
6
7
Stabilim viteza folosinda blocul set steps to 0. Stergerea variabilelor - cand nu mai dorim o variabila
dam click dreapta pe ea in paltea de blocuri si apoi selecteaza delete variable so pierdem informatiile
din aceasta.
putem redenumi sau sterge o variabila. Avem de asemenea, variabile read only care pot fi setate in
Scratch si nu pot fi modificate. Dr sent tot variabile pentru ca valoarea lor se modifica. Aceste blocuri
8
sent cunoscute sub numele de sensing block. distance to-stabileste disanta pana la un anumit lucru
cum a rfi cursorul mouse-ului.
costume# raporteaza numarul costumului pe care-l poarta actorul, diretion -ne spune in ce directie
se deplaseaza actorul
Matematica - pe langa stocarea numerelor in variabile , scratch efectueaza tot felul de calcul utilizand
blocurile Operator.
Adunari -avem 4 blocuri Operator care pot fi folosite pentru calculi simple - adunare, scadere,
inmultire, impartire. Adunare Blocul + aduna cele doua numere din bloc. scadere Blocul - scade al
doilea numar din primul, inmultire Computerele folosesc simbolul * pentru inmultire pentru ca x
inseamna litera. Impartire nu exista semn pentru impartire pe tastatura asa ca Scratch foloseste
simbolul / Blocul Think tipareste rezultatele.
Rezultate intr-o variabila pentru calcule mai complexe cum ar fi stabilirea pretului de vanzare al
obiectului putem utiliza valoarea unei variabile intr-o suma. Rezultatul poate fi stocat intr-o variabila.
1)crearea unei variabile mergem la sectiunea Data a paletei de blocuri si creeaza doua variabile
saleprice si price. 2)stabilim pretul selectam blocul set price si fixeaza pretul unui obiect la 50.
Set price to50 -folosim meniul cascada pentru a selecta price. 3)calculeaza pretul de vanzare -flosim
acest script pentru a calcula jumatate din pretul unui obiect si fixam ca prêt de vanzare set sale price
to price /2 tragem variabile price in fereastra pentru a imparti pretul la 2 .
9
Numere aleatorii -block-ul pick random poate fi folosit pentru a selecta un numar la intamplare intre
doua valori. Acest block este util pentru a arunca zarurile intr-un joc sau pentru momentele in care
combinam costumele unui actor. Folosim numere la intamplare pentru a adauga surprise in jocuri.
Un extraterestru poate fi facut sa apara intr-un loc intamplator sau dupa o anumita perioada de timp,
pentru a selecta o valoare intamplatoare, cand dam cu zarurile sau un costum ales la intamplare
pentru un actor. pick random 1to10 -putem schimba numerele din bloc alege un numar la intamplare
pentru a alege o luna la intamplare schimba numerele din care alegem o cifra intre 1 si 12.
wait 2 secs -acest bloc face ca actorul sa astepte doua secunde inainte de a schimba un costum
pick random 1 to 10 alege un costum intre 1 si 10 la intamplare schimbare de costume acest script
schimba costumul unui actor la intamplare la fiecare 2 secunde. Costume la intamplare care pot face
un actor sa para ca se misca sau pot sa ii dea haine diferite.
Matematica dificila -blocurile simple Operator pot face cele mai multe calculi dar Scratch poate
efectua si operatiuni matematice mai complexe. Blocul mod imparte doua numere si da restul adica
numarul ramas dupa impartire, blocul round rotunjeste spre cel mai apropiat numar intreg iar blocul
sqrt da radacina patrata a unui numar.
10 mod3 imparte 10 la 3 si da restul numarul care ramane
round 44.7 gasim numarul intrgcel mai apropiat
sqrtof9 calculeaza radacina patrata a lui 9
10
Sectiunea Operator are blocuri de functoo de matematica avansata care pot fi folosite penru a face
calcule complexe.
Siruri si liste - o secventa de litere si simboluri se care pot contine orice caracter de pe tastatura
(inluzand spatiile albe) si pot avea orice lungime. Sirurile pot fi grupate impreuna in liste. Folosim
cuvintele -programele au nevoie adesea sa isi aduca aminte cuvinte, numele unui jucator Variabilele
pot fi create pentru a-si aminti cuvinte. Programele Scratch pot pune si intrebari utilizatorului la care
acesta sa poata sa raspunda intr-o caseta pe ecran.
1)cream o variabila - dam click pe butonul Data din paleta de blocuri si apoi pe blocul Make a variable
- variabila numita greeting
2)pune o intrebare -un script care face ca actorul sa puna o intrebare. orice intrebare utilizatorului in
caseta de text care apare pe ecran este stocat intr-o noua variabila numita answer. scriptul combina
sirurile continute in variabilele grreting si answer pentru a intampina utilizatorul.
11
acest bloc pune hello in variabila greeting set greeting to hello
ask what is your name and wait caeta ask in sectiunea sensing a paletei de blocuri face sa apara o
caseta text in care utilizatorul introduce raspunsul
bula say creeaza o bula de vorbire penru actor iar variabila greeting include sirul hello, iar variabila
answer din Sensing contine orice a introdus tilizatorul in caseta de text
Realizarea de liste -variabilele sent perfecte daca vrem sa ne aducem aminte un lucru sa ulucruri
similare. Listele pot stoca fragmente de date (siruri si numere) in acelasi timp ex toate scorurile
obtinute la un joc.
1) cream o lista incepem un nou proiect la sectiunea Dta din paleta de blocuri si facem click pe
butonul Make a list si o denumim sentence.
12
2)utilizarea listei- utilizatorul trebuie sa introduca cuvinte intr-o lista. Fiecare cuvant apare in bula de
dialog a actorului si este adugat in lista.
13
14
delete all of sentence acest bloc se asigura ca lista este goala la inceputul programului
blockul ask ii cere utilizatorului sa introduca un cuvant
add answer to sentence - acasta adauga raspunsul utilizatorului la lista
think sentence for 2 secs blocku lthink face sa apara o bula de ganduri , adaugam sentence iar lista va
si afisata in bula de ganduri
Sa vizualizam lista din caseta de langa lista in paleta de blocuri , lista este afiasta pe scena. Putem
vedea fiecare cuvant nou pe masura ce este aduagat la lista. scratch stie numarul de cuvinte
adaugate la lista.
Blocurile pot fi folosite pentru a schimba continutul unei liste. Fiecare obiect dintr-o lista are un
numar, iar primul obiect este numarul 1 siasa mai departe. Numerele pot fi folosite pentru a inlatura,
insera sau schimba locul lucrurilor.
delete 1 of sentence sterge primul obiect din lista
insert cirese at 1 of sentence adauga cirese ca primul obiect din lista
replace 1 of sentence with cirese inlocuieste primul obiect din lista cu cirese
15
bucla parcurge fiecare element al listei din parttea stanga si le introduce in mod aleator in lista din
partea dreapta initial goala. Ca rezultat avem o lista ca prima doar ca intr- ordine diferita linear time.
16
17
Coordonate -pentru a pune un actor intr-un loc anume sau pentru a-i afla pozitia exacta, astfel o
pereche de numere care indica pozitia unui actor pe scena folosind o grila x si y.
Ppozitiile x si y ale unui actor si ale cursorului sunt aratate pe interfata Scratch . x:240 y:180
coordonatele cursorului sunt afisaste in partea din dreapta jos a scenei. pozitia unui actor -putem
vedea coordonatele actuale ale unui actor in coltul din dreapta sus al zonei scripturilor. xposition si y
position arata coordonatele pe scena selecteaza casutele din dreptul blocurilor pentru a arata pozitia
actorului pe scena. Grila x si y - pentru a indica un loc numara pasii la stanga sau la dreapta si sus sau
jos pornind de la mijlocul scenei. Pasii la stanga sau la dreapta sunt x, iar pasii in sus sau in jos sunt y.
Numerele negative pentru a ne misca la stanga sau in jos.
Miscarea actorilor - coordonatele sunt folosite pentru a micsora un actor intr-un anume loc de pe
[Link] conteaza cat de departe sau cat de aproape este acel punct. Blocul glide 1 secs to x:0 y:0 din
sectiunea Motion a paletei de blocuri face actorul sa alunece usor.
18
controleaza actorul cu un script - descifram traseul pe care-l va urma actorul cand vom rula scriptul
-prmul bloc schimba numerele coordonatelor penrua face actorul sa mearga in alta parte
change x by -10 misca actorul la stanga
set x to 0 misca spre mijlocul scenei
set y to 180 misca in sus spre partea de sus a scenei
19
change volume by -10 acest bloc face actorul mai zgomotos sau mai tacut foloseste un numar negativ
pentru a-l face mai tacut. De asmenea,Scratch are blocuri care pot fi folosite pentru a inventa sunete
musicale, instrumente musical si tobe, lungimea fiecarei note este masurata in beats.
play note 60 for 0.5beats decide cat de acuta sau de grava este nota, , numerele mai mari fac nota
mai lunga, poate fi si mai scurta de un beat
play drum 1 for 0.25 beats- foloseste acest meniu pentru a allege dintre diferite tipuri de tobe
set instrument to 1 -click pentru a allege un instrument dintr-un meniu in cascada
rest for 0.25 beats -acest bloc adauga o pauza, daca marim numarul pauza va fi mai lunga
Redarea muzicii - compunerea unei melodii prin imbinarea notelor. Cream o noua variabila note apoi
adaugam scriptul oricarui actor pentru a crea o bucata muzicala.
-stabileste mai intai valoarea unei note variabile, alefem un instrument, aoaugam o bucla forever in
jurul celor 3=2 blocuri
tragem variabila note din sectiunea Data a paletei de blocuri. Facem o serie de notecare sunt redate
cand se face click pe steagul verde. Inaltimea unei note creste cu cate o trepta de fiecare data iar
fiecare nota este redata timp de jumatate de beat. tempo-ul -viteza muziciidecide cat de lung este
un beat intr-o bucata muzicala.
set tempo to 60 bpm(beats pe minut)
change tempo by 60 creste temo-ul pentru a face muzicamai rapida sau foloseste un numar negative
pentru a o face mai lenta.
20
tempo - bifarea casutei face tempo-ul actorului sa apara pe scena
sa dam cu zarul - un program ca creeeaza un zar ce poate fi rostogolit, vom vde acine are scorul cel
mai mare sau de utiizat cand jucam un alt joc. Folosim 6 costume fiecare costum are o fata a zarului
cu un numar pe ea de la 1 la 6.
1)selecteaza butonul pensula de sub scena pentru a desena un nou actor. Dam click pe butonul
dreptunghiular din stanga zonei de desen. a sa coloram zarul selectam culaorea solida din paleta apoi
in suprafata de desen tinem apasata tasta shift cu butonul din stanga al mouse-ului apsata tragem
cursorul pentru a desena un patrat in mijloc.
culorile se pot schimba -sub zona de desen se afla comenzi de culoare. click pe dreptunghiul solid
pentru a desena un bloc de culoare solida. Dam click pe dreptunghiul gol pentru a desena conturul
unui patrat sau dreptunghi. Folosim cursorul pentru a schimba grosimea liniilor patratului. Pentru a
alege o culoare dam click pe ea.
3) Facem click dreapta pe costum in stanga zonei de desen si alegem duplicate, repteam pana ce
obtinem 6 costume.-folosim meniul contextual pentu a copia costumul zarului.
4)selectam un costum. Facem click pe butonul rotund de pe suprafata de desen si alegem culoarea
alba solida din paleta. Adaugam pete fiecaruia din cele 6 costume pana ce realizam toate cele 6
costume pana ce realizam toate cele 6 fatete ale zarului.
butonul rotund face un cerc perfect cand este apasata tasta shift
costume5 are 5 buline
5)adaugam scriptul actorului zar, apasam pe bara de spatiu pentru a rostogoli zarul, rostogolim zarul
de mai multe ori pentru a verifica daca se pot vedea toate cele 6 costume.
when space key pressed -cand apasam pe bara de spatiu zarul se rostogoleste
-switch costume to pick random 1 to 6 selecteaza un costum la intamplare.
6) uneori putem obtine de doua ori acelasi numar si se pare ca programul nu merge pentru ca
imaginea nu se schimba . Scrptul face ca zarul sa se schimbe de cinci ori costumul inainte de a se opri.
De fiecare data cand apasam pe bara de spatiu, rata ca zarul se rostogoleste.
Instrumente de rotatie - pentru ca zrul sa se rostogoleasca cand ruleaza scriptul putem roti fiecare
costum intr-un unghi [Link] pe butonul convert to vector din coltul din dreapta jos. Cand dam
din nou click pe zona de desn va aparea un intrument de rotatie.
when space key pressed
repeat 5
switch costume to pick random 1 to 6 - fiecare costum este un numar diferit de pe zar
wait 0.2 secs -pauza mica pentru a vedea cum se rostogoleste
21
Computerele decid ce sa faca punand intrebari si stabilind daca raspunsurile sunt adevarate sau false.
Intrebarile care au doar doua raspunsuri posibile sunt numite expresii booleene.
Compararea numerelor putem compara numerele folosind blocul = din sectiunea Operaors aflata in
paleta de blocuri.
22
raspuns adevarat folosit blocul = intr-un bloc de vorbire face true sau false sa apara in bula de dialog
a pisicii. blocul = va da unul din doua raspunsuri adevarat daca cele doua numere din casete sunt
egale si false daca nu sunt. say 3=2 -false aceste numere nu sunt egale asa ca in bula de dialog apare
cuvantul false. raspuns fals daca numerele din bloc sunt diferite, bula de dialog a actorului va contine
cuvantul false.
23
celalalt.
24
compararea cuvintelor blocul = nu este folosit doar pentru numere poate fi aflat pentru a verifica
daca doua siruri sunt egale La compararea sirurilor ignora litere mari.
set name to Andreea - creearea unei variabile pentru a face experimente cu compararea sirurilor,
cream o noua variabila numita name si ii dam valoarea Andreea.
name=Andreea tragem si eliberam variabila in blockul de comparare , Andreea - variabila name
contine Andreea asa ca raspunsul este adevarat daca name= Dan raspunsul este fals pentru ca
variabila nu contine Dan.
Block-ul not poate simplifica lucrurile inversand raspunsul unei expresii booleene. Este mai usor sa
verificam daca varsta cuiva nu este 10 decat sa verificam orice alta varsta posibila.
blocul not schimba raspunsul din adevarat in fals si din fals in adevarat.
age=7 fara blocul not aici 10 nu este egal cu 7 deci raspunsul este fals
not age =7 cu blockul not adaugarea blocului not aceleiasi intrebari schimba raspunsul. cum 7 nu
este egal cu 10 , raspunsul este adevarat.
combinareaa ntrebarilor - pentru a pune intrebari mai complicate putem combina blocurile de
comparare si se pot pune mai multe intrebari in acelasi timp. Blocurile de comparare blocurile or si
and sunt folosite pentru a combina expresiile booleene in diferite moduri.
25
age<18 or age >65 raspunsul este adevarat cand fie partea dreapta fie cea stanga este adevarata in
care verificam daca o persoana are mai putine de 18 ani sau mai multe de 65.
age>10 and age<15 aici este adevarat doar cand ambele laturi sunt adevarate, aici sunt verificate
daca persoana are 11,12,13,14 ani.
Decizii si ramuri cand testam daca un lucru este adevarat sau fals folosim informatii pentru a spune
computerului ce sa faca mai departe. Executa actiuni diferite in functie de raspunsul adevarat sau
fals. Luarea deciziilor- blocurile if folosesc expresii booleene penru a decide ce sa faca mai departe.
ca sa le folosim punem alte blocuri in interiorul lor. Blocurile din interiorul blocurilor if vor rula doar
daca raspunsul la expresia booleeana este adevarat.
if expresie then - tragem o expresie booleeana in aceasta fereastra. blocul if-then daca expresia
booleeana este adevarata, blocurile din interiorul blocului if-then vor rula
if expresie then else daca este fals, blocurile din interiorul else vor rula.
blocul if-then-else Daca expresia booleeana este adevarata, ruleaza primul set de blocuri. Daca nu,
ruleaza al doilea set.
Utilizarea blocului if-then
Acest block ne lasa sa alegem daca sa rulam sau nu o parte dintr-un script, in functie de raspunsul la
o expresie booleeana.
26
27
28
blockul if-then are 2 ramuri
raspunsul este da?
daca da - adevear ->miauna
daca nu - fals -> nu miauna
blockul if-then functionare - programul verifica daca expresia booleeana este adevarata. Daca da,
acesta ruleaza blocurile din interiorul buclei blocului if-then.
tragem blocul =din sectiunea Operators in blocul if-then, apoi pune variabila answer di sectiunea
Sensing in acesta. answer= yes
play sound meow until done acest bloc este plasat in interiorul blocului if-then astfel incat pisica sa
miaune numai daca raspunsul este adevarat yes.
think hmmm for 2 secs aceste blocuri think sunt in afara buclei if-then astfel incat ele vor rula oricare
ar fi raspunsul la intrebare. Cand miauna pisica - acest program verifica expresia booleeana si va rula
doar partea din interiorul blocului if-then daca este adevarata. Aceasta inseamna ca pisica miauna
atunci cand ii spunem sa miaune.
Instructiuni de ramificare - Daca o conditie este adevarata si altceva, daca nu. cand vrem ca un
program sa faca un lucru blocul if-then-else ofera un program cu 2 rute posibile adica ramuri. Doar o
ramura va rula in functie raspunsul la expresia booleeana.
Este raspunsul da?
Dca da yes adevarat -> spune I like you too!
daca nu false -> spune That is not very friendly!!
programul verifica daca am scris yes, daca da, arata primul mesaj, daca nu, pe al doilea.
29
say si mie imi place de tine for 2 secs aceasta ramura va rula daca raspunsul la intrebarea yes
say nu este foarte prietens for 2 secs aceasta ramura va rula daca raspusul la intrebare este oricare
altul decat yes
Forme booleene Blocuri cu expresii booleene din Scratch au margini ascutite mouse down
blocurile sensing aceste blocuri pot testa daca un actor atinge alt actor sau daca este apasat un buton
repeat until blocuri control cu forme booleene pentru expresii booleeane
Simt si detectie -blocurile Sensing permit unui script sa vada ca se intampla. ele pot detecta
comenzile de pe tastatura lasand actorii sa reactioneze cand se ating.
Comenzile de pe tastatura folosim blocurile sensing cu blocurile if-then ne permit sa miscam actori
pe ecran folosind tastatura. Blockul key pressed are un meniu al majoritatii tastelor astfel incat un
actor sa poata fi programat sa reactioneze la orice tasta. Putem lega actiunile de click ul unui buton al
mouse-ului.
key space pressed acest block verifica daca este apasata vreo tasta, putem alege ce tasta sa fie
verificata, mouse down acest block verifica daca butonul mouse-ului este apasat.
Blocurile sensing - adaugarea acestor blockuri intr-un bloc if-then permite programului sa detecteze
daca este vreo tasta apasata cu butonul mouse-ului.
30
controlul actorilor comenzile executate de pe tastatura oera controlul precis asupra actorilor mai
ales la jocuri. scriptul de miscare ne permite sa miscam actorii sus, jos, la stanga sau la dreapta
folosind tastele cu sageti de pe tastatura.
blocul forever - permite punerea tuturor comenzilor iar scriptul verifica in mod repetat tastele
apasate. if key up arrow pressed scriptul verifica daca sageata in sus este apasata, daca da actorul se
misca pe verticala pe ecran.
Coliziuni intre actori - este util sa stim cand un actor il atinge pe altul la jocuri. blocurile sensing
pentru a pune lucrurile in miscare atunci cand un actor il atinge pe altul sau cand un actor
traverseaza o zona de o anumita culoare.
touching frog foloseste blocul pentru a identifica momentul in care un actoril atinge pe altul
touching color blocul simte cand un actor atinge o zona de o anumita culoare.
Utlizarea bloc sensing -pentru a transforma o pisica pe care o poti controla intr-un joc, adaugam
scriptul de miscare creat pisicii, adaugam fundalul room1 si actorul elefant, butonul Sounds adauga
efectul sonor trompet2 elefantului. cu blocurile sensing controlam relatia pisica elefant. pe masura
ce pisica se apropie elefantul creste. cand pisica il atinge elefantul isi schimba costumul, scoate un
sunet si se ascunde.
bucle complexe - buclele simple sunt folosite pentru a repeta parti dintr-un program la nesfarsit sau
de un numar de ori. alte bucle mai intelogente pot fi folosite pentru a scrie progrme care decid cand
sa se repete instructiuni. Adaugam actorul dog1 la un proiect si apoi atribuim scriptul actorului
31
pisica . cand rulam scriptul repeat until se asigura ca pisica se misca in continuare pana ce atinge
cainele. se opreste ouch. blocul repeat until avand in interior alte blocuri ce continua sa se repete
pana ce se indeplineste conditia pisica atinge cainele.
set rotation style left-right acest block opreste pisica touching dog1 selecteaza dog1 din meniul
cascada, move 10 steps aceste instructiuni se tot repeta pana ce pisica atinge cainele, acesta se va
intampladoar cand pisica atinge cainele, testarea programului -muta cainele din calea pisicii si ruleaza
prugramul. trage si da drumul cainelui in calea pisicii pentru a vedea ce se intampla
stop - un alt bloc control util este blocul stop all car poate opri scripturile din rulare este util cand
vrem sa oprim actorii sa se miste la sfarsitul unui joc. stop all acesta opreste toate scripturile intr-un
program, stop this script - acesta opreste doar scriptul in care se gaseste respectivul block
stop other scrpt in script -acesta opreste celelalte scrioturi ale actorului, dar continua sa ruleze
scriptul in care se afla acest block. stoparea scripturilor - folosim meniul cascada pentru a alege ce
script sa fie oprit.
in asteptare - este usor sa jucam un joc sau sa vedem ce se intampla itr-un program daca putem sa
introducem pauza in script. Blocuri diferite pot face un script sa astepte un numar de secunde sau
pana ce un lucru este adevarat. wait 1 secs blocuri de asteptare blocul wait secs asteapta un anumit
timp. Blocul wait until raspunde la ceea ce se intampla in program.
wait 5 secs actorul asteapta 5 secunde si apoi va spune ceva, cu acet bloc putem introduce numarul
de secunde in care doresti ca actorul sa astepte.
32
wait until mose down actorul asteapta pana ce se apasa butonul mouse-ului
go to mouse-pointer imdeiat ce conditia este adevarata actorul se misca spre cursorul mouse-ului,
blocul wait until asteapta pana ce expresia booleeana din el se dovedeste adevarata
Mouse-ul magnetic -bucle diferite pot fi folsite impreuna pentru a face programe. Acest program
incepe odata ce se apasa pe butonul mouse-ului. Actorul urmareste cursorul mouse-ului pana ce
butonul este eliberat. Apoi topaie in sus si in jos de cinci ori, apoi se repeta intregul proces pentru ca
totl este introdus intr-o bucla forever.
repeat until not mouse down blocul not detecteaza cand butonul mouse-ului nu este apasat
repeat until - scriptul se repeta pana ce este eliberat butonul mouse-ului
change y by 20 acesta face actorul sa sara in sus
change y by -20 acesta face actorul sa alunece in jos
repeat 5 blocul face actorul sa topaie in sus si in jos de 5 ori
Trimiterea de mesaje este util ca actorii sa comunice intre ei. Actorii pot folosi mesaje pentru a le
spune altor actori ce sa faca. Scratch creeaza si conversatii intre actori.
Comunicare- blocurile de comunicare din mediul Events permite actorilor sa trimita si sa primeasca
mesaje. Mesajele contin informatii precum nume, pentru a corecta actiunile actorului. Actorii
reactioneaza doar la mesaje la care sunt programati sa reactioneze, ignorandu-le pe celelalte.
when I receive message1 blocul deruleaza un script cand un actor primeste un mesaj
33
un tip de bloc de comunicare permite unui actor sa trimita un mesaj. Celalalt ii spune actorului sa
primeasca un mesaj.
broadcast shark_here acest mesaj deruleaza scriptul care face steaua de mare sa se indeparteza de
rechin, steaua de mare fuge de rechin, aratand ca este inspaimantata
braodcast shark_gone acest mesaj ii spune stelei de mare ca rechinul a plecat deci se poate intoarce
in siguranta. steaua de mare aluneca la loc in mijlocul ecranului. cand soseste rechinul transmite un
mesaj iar steaua de mare sa se indeparteze inotand.
Conversatii pentru a crea o conversatie intre actori folosim broadcast message and wait cu blocurile
say ceea ce ii face pe actorisa vorbeasca folosind bule de dialog. in proiect avem 2 actori maimute.
broadcast message1 and wait blocuri de asteptare transmite un mesaj apoi asteapta ca toate
scripturile care reactioneaza la mesaj sa termine inainte ca programul sa continue
34
35
blocurile say lasa actorii sa vorbeasca folosind bulele de dialog say hello for 2 secs
broadcast hello and wait mesajul hello activeaza scriptul celei de a doua maimute
iar a 2 a maimuta ii raspunde primeia
say how are you for 2 secs cand se ermina al 2 lea script, continua primul
broadcast howareyou -> when I receive how are you mesajul how are you face sa inceapa al 3 lea
script
chatting monkey programul functioneaza pentru ca folosim blockul broadcast message and wait.
blocul broadcast message face ca maimutele sa vorbeasca in acelasi timp
Crearea blocurilor pentru ca sa evitam repetarea la nesfarsit a aceluiasi set de blocuri folosind o
scurtatura creand noi blocuri. Fiecare bloc nou poate contine mai multe instructiuni.
la crearea unui bloc care sa ruleze un script atunci cand sunt folosite asa-numitele subprograme sau
functii parti de cod reutilizabile.
Cream un nou bloc dam click pe more blocks si apoi selectam Make a block , scriem cuvantul Jump
apoi click pe ok. Apare un bloc nou jump in paleta de blocuri, iar un bloc define apare in zona
scripturilor.
36
make a block jump define jump defineste blocul jump in zona scripturilor 3)defineste blockul blocul
define spune ce blocuri sa ruleze cand folosim un bloc nou. Adaugam acest script pentru a defini
blocul. 4) Foloseste blocul intr-un script -noul bloc poate fi folosit acum in orice script.
37
Blocuri cu date - ferestrele dintr-un bloc nou pot fi folosite pentru a-i conferi acestuia numere si
cuvinte cu care sa lucreze. si astfel sa fie utilizate pentru a schimba cat de departe este mutat actorul
de catre bloc.
1)facem un nou bloc numit slide si apoi dam click pe options. Apoi selectam add number input si scrie
steps. Selectam add label text si schimbam in and shout Facem click pe Add string input si-l denumim
greeting apoi dam click pe ok.
2)definim blocul in aceste bloc define introducem variabilele steps si greeting . Tragem aceste
variabile din blocul define in script oriunde este nevoie de ele.
3)folosim blocul in script - adaugam scriptul unui actor, punand un numar diferit de pasi si de salturi
in bloc.
38
monkey mayhem (sa tintim si nimerim lilicaul cu banane)
-din lista de actori selectam maimuta, banane, liliacul 3 actori
-adaugam un fundal din biblioteca de fundaluri choose a backdrop
- dam dublu click pentru a selecta fundalul brick wall1 zidul de caramida sau un alt fundal diferit.
- mergem la biblioeca de actori pentru a adauga un nou actor jocului. Selectam Monkey1 din
sectiunea Animals. Utilizatorul va controla acest actor pe parcursul jocului.
set style left-right acest bloc Motion face maimuta sa stea dreapta
go to x:0 y: -90 aceasta misca maimuta in pozitia sa de start in josul scenei
key left arrow pressed blockul sesnsing detecteaza cand este apasata tasta cu sageata stanga
point in direction -90 face maimuta sa se intoarca spre stanga
next costume acest bloc face maimuta sa para ca se plimba prin schimbarea costumelor
point direction 90 face maimuta sa se intoarca spre dreapta
move 10 steps aceasta muta maimuta cu 10 pasi
Acum maimuta se deplaseaza stanga dreapta cu ajutorul tastelor. Adaugam un alt actor si alegem
Banane cu care maimuta sa tinteasca liliacul. La inceputul jocului, maimuta tine bananele, iar cand
39
apasam tasta de spatiu acestea vor fi aruncate la verticala pe scena. Bananele apar din nou in capatul
scenei de unde pot fi ridicate iar.
Adaugam un alt actor alegem liliacul care zboara si care cade pe pamant daca este lovit de banane.
Adaugam Bat din biblioteca de actori apoi cream o noua variabila numita speed (doar pentru liliac).La
Data din paleta de blocuri selectam butonul Make a variable si debifam caseta de langa variabila
Speed din sectiunea Data astfel incat sa nu apara pe ecran.
40
41
-ln bucla principala forever liliacul se muta intr-o pozitie intamplatoare in stanga scenei, alegem
aleatoriu o viteza, apoi se misca in fata si in spate pe toata scena pana ce este lovit de banane. Cnd
este lovit, liliacul cade la pamant.
set rotation style left-right acesta pastreaza actorul liliac la verticalaforever inceputul buclei
principale a liliacului
go to x:-300 y: pick random 1 to 100 lliacul porneste din stanga scenei la o inaltime oarecare
point in direction 90 stabileste directia liliacului la dreapta
set speed to pick random 1 to 20 alege o viteza oarecare
repeat until touching bananas acesta face liliacul sa continue sa se miste pana ce este lovit
move speed steps tragem variabila Speed din sectiunea Data in acest bloc
broadcast lovit_de_banana creeeaza un bloc broadcast pentru a le spune celorlalti actori ca liliacul a
fost lovit va fi util ulterior pe parcursul programului
point in direction 180 stabileste directia liliacului spre in jos
repeat 40 (move 10 steps) face ca liliacul sa cada si sa iasa de pe scena.
Adaugam un cronometru - o variabila pentru a tine scorul sia numara liliecii loviti de maimuta
Adaugam un ecran de game over care sa apara imiediat ce timpul jucatorului a expirat.
-cream o noua variabila Time, care este disponibila pentru toti actorii din joc prin bifarea optiunii for
all sprites si de asemenea bifam casuta de langa variabila din paleta de blocuri astfel incat jucatorii sa
poata vedea timpul afisat pe scena.
42
Dam click pe imaginea mica a scenei din lista de scene apoi selectam butonul Backdrops de deasupra
paletei de blocuri. Click dreapta pe fundalul existent pentru a crea un duplicat la care aduagam un
text GAME OVER noului fundal.
Dam click pe butonul Scripts si adaugam scenei scriptul de mai sus pentru a declansa cronometrul.
Cand porneste cronometrul incepe o bucla de numaratoare inversa. Cnad bucla se termina apare
ecranul GAME OVER si jocul ia sfarsit.
set time to 30 acesta stabileste limita de timp la 30 de secunde
repeat until time=0 numara invers pana ce cronometrul ajunge la zero
switch backdrop to brick wall2 face schimbul cu fundalul GAME OVER
stop all incheie jocul
-Dam click pe actorul banane din lista de actori si cream variabila Score pe care o facem disponibila
pentru toti actorii si o mutam in partea din dreapta sus a scenei tragandu-l in acea zona, bifam caseta
pentru a vedea scorul pe scena.
43
44
Acest script aferent actorului banane seteaza scorul la 0 la inceputul jocului. set Score to 0
Scriptul de mai sus adaugat actorului banane- cand bananele lovesc liliacul se aude un sunet, iar
scorul creste cu 10 si bananele sunt ascunse.
cand sunt lovit de banane hide face ca bananele sa dispara
play sound pop adauga sunetul champ din biblioteca de sunete la actorul banane.
change Score by 10 de fiecare data cand este lovit liliacul jucatorul castiga 10 puncte.
Putem adauga muzica jocului. Facem click pe scena si selectam butonul Sounds de deasupra paletei
de blocuri si incarcam sunetul din biblioteca de sunete.
Adaugam muzica jocului. Dam click pe scena si selecteaza butonul Sounds de deasupra paletei de
blocuri si incarcam sunetul eggs din bibliteca de [Link] de mai jos este adaugat scenei,
sunetul eggs va fi redat in blucla dar se va opri cand blocul stop all incheie jocul.
play sound eggs until done muzica de fundal este repetata intr-o bucla fara sfarsit.
Pentru acest joc se folosesc tasta cursor stanga si dreapta si tasta space. Facem click pe steagul verde
pentru a incepe si a vedea de cate ori lovim liliacul cu bananele inainte ca timpul sa expire.
45
say hello for 2 secs
then change color by 25
then think hmmmm for 4 sec
then change color by 75
then change size by 200
o secventa sau block este un simplu script sau program executata linie cu linie
instructiunea wait este folosita cand incetineste actiunea astfel incat noi sa putem vedeaori auzi cum
se cuvine cumputerele sunt prea rapide pentru ochiul uman
46
bifam x position si y position si tragem de actorul pisica pe scena siputemobserva x si y pozitie
47
48
repetam de 20 de ori
say hello for 2 secs apoi creste cu 10 mai mare apoi revine la normal
utlizam o bucla loop pentru a face parrot papagalul sa bata din aripi sa zboare
49
50
ca papagalul sa bata din aripi setam x la un numar aleatoriu setam y la un numar aleatoriu
51
utilizarea meniului sensing
intreba utlizatorul ce varsta are, utilizatorul scrie varsta, rezultatul este stocat in variabila answer
52
53
putem folosi joint text si un numar pentru a spune lucruri.
calculam c- a*b
facem 3 variabile a,b,c ..dam valori lui a si b
setam valoarea lui c ca inmultirea lui a cu b
sa calculam acum media aritmetica a lui a si b
54
sa calculam permetrul unui dreptnghi l=10, L=15
P=(l+L)*2
55
56
scriptul face ca pisica sa sara de 4 ori in sus si in jos.
57
chat bot raspunde ce nume frumos de fiecare data facand use de raspunsul utilizatorlui. Sa schimbam
codul chatbot-ului.
58
sa stocam raspunsul intr-o variabila name si o vom putea utiliza de-a lungul proiectului.
59
sa programam chatbotul sa decida ce sa faca bazat pe raspunsurile utilizatorului.
60
luarea deciziei putem sa programam chat botul sa ia o decizie bazata pe raspunsul utilizatorului.
Chatbotul pune o intrebare care are raspuns negativ su pozitiv. instructiuni decizionale if-then-else
daca raspunsul este pozitiv intra pe prima ramura si se afiseaza that is great to hear.
un bloc if include o conditie si daca codul din interiorul blocului if ruleaza doar daca conditia este
adevarata. Daca conditia este falsa atunci codul din interiorul if-ului este sarit nu se mai executa si
iese din if.
61
if then else blocul va rula mereu daca conditia este adevarata atunci primul set de blocuri va rula,
daca conditia este falsa, atunci va rula al doilea set de block-uri.
62
am utilizat 3 costume ca parte a chatbot raspuns.
63
Programam chatbotul sa schimbe locatia. Click Backdrops tab vedemca scena are 2 Backdrop-uri. Add
another backdrop scenei noastre daca vedem doar una. trebuie sa fim siguri ca chatbotul nostru se
afla in locatia originala outside cand incepem sa vorbim cu el. Daca raspundem yes cand suntem
intrbati daca vrem sa mergem la biblioteca ar trebui sa vedem ca locatia chatbotului s-a schimbat.
64
65
guessing game un numar intre 1 si 100 este ales in mod aleator si utilizatorul trebuie sa incerce sa
aleaga un numar.
66
67
putem crea de asemenea, un quiz care pune intrebari si verifica atunci cand utilizatorii raspund
corect. Un punct este adaugat scorului jucatorului daca raspund corect.
68
aici folosim mouse-ul pentru a desena pe scena. hide ascunda sprite-ul care va urmari mouse ointer
si doar pen deseneaza daca butonul mouse-ului este apasat.
69