Numere aleatoare și clone
Obiectele apar în locuri alese la întâmplare și cad de sus în jos; clonele fac din același personaj zeci de obiecte, fiecare cu mișcarea lui.
Ai nevoie de:
- Un calculator cu acces la internet
- Editorul Scratch, pe scratch.mit.edu
1. Numere alese la întâmplare
Blocul „alege aleator între … și …”, din categoria Operatori, dă de fiecare dată un număr întreg ales la întâmplare între cele două valori, inclusiv ele.
La fiecare clic, personajul spune alt număr de la 1 la 6.
când se dă click pe acest personaj spune (alege aleator între (1) și (6)) pentru (1) secunde
2. Un obiect care cade
Adaugă personajul Apple. Mărul pornește de sus, dintr-un loc aleator, și coboară până la marginea de jos, apoi o ia de la capăt de sus:
când se dă click pe @greenFlag
la infinit
mergi la x (alege aleator între (-220) și (220)) y: (170)
repetă până când <(poziția y) < [-170]>
modifică y cu (-4)
end
end3. Clonele
O clonă este o copie a unui personaj, creată în timpul execuției. Clona are costumele, sunetele și scripturile personajului original și poate avea altă poziție.
Blocurile pentru clone sunt în categoria Control:
- „creează o clonă a …”: creează o clonă a personajului ales; valoarea mea creează o clonă a personajului care execută blocul;
- „când încep ca și clonă”: pornește scriptul de sub el în fiecare clonă nouă;
- „șterge această clonă”: șterge clona care execută blocul.
Mai multe mere care cad în același timp se obțin astfel. Mărul original este ascuns și creează o clonă pe secundă:
când se dă click pe @greenFlag ascunde la infinit creează o clonă a [mea v] așteaptă (1) secunde end
Fiecare clonă apare sus, cade și se șterge la marginea de jos:
când încep ca și clonă mergi la x (alege aleator între (-220) și (220)) y: (170) arată repetă până când <(poziția y) < [-170]> modifică y cu (-4) end șterge această clonă
4. Clona culeasă
Pisica se deplasează jos, cu săgețile. Mărul care atinge pisica aduce un punct și dispare. În scriptul clonei, condiția din „repetă până când” se înlocuiește:
când încep ca și clonă mergi la x (alege aleator între (-220) și (220)) y: (170) arată repetă până când <<(poziția y) < [-170]> sau <atinge [Sprite1 v]?>> modifică y cu (-4) end dacă <atinge [Sprite1 v]?> atunci modifică [scor v] cu (1) pornește sunetul [Chomp v] end șterge această clonă
Exerciții
🔑 Rezolvare
Numărul se păstrează într-o variabilă, ca valoarea spusă și cea verificată să fie aceeași:
când se dă click pe acest personaj setează [zar v] la (alege aleator între (1) și (6)) spune (zar) pentru (1) secunde dacă <(zar) = [6]> atunci spune [Ai câștigat!] pentru (2) secunde end
Cu „alege aleator” scris de două ori, o dată în „spune” și o dată în „dacă”, s-ar alege două numere diferite.
🔑 Rezolvare
când încep ca și clonă setează [viteza v] la (alege aleator între (2) și (7)) mergi la x (alege aleator între (-220) și (220)) y: (170) arată repetă până când <(poziția y) < [-170]> modifică y cu ((0) - (viteza)) end șterge această clonă
Variabila este doar pentru acest personaj, deci fiecare clonă are propria valoare. O variabilă pentru toate personajele ar fi aceeași pentru toate clonele.
🔑 Rezolvare
când se dă click pe @greenFlag ascunde la infinit așteaptă (alege aleator între (1) și (3)) secunde creează o clonă a [mea v] end
când încep ca și clonă mergi la x (alege aleator între (-220) și (220)) y: (170) arată repetă până când <<(poziția y) < [-170]> sau <atinge [Sprite1 v]?>> modifică y cu (-5) end dacă <atinge [Sprite1 v]?> atunci modifică [vieți v] cu (-1) end șterge această clonă
🔑 Rezolvare
- Scriptul face 10 repetări, deci creează 10 clone, la 0; 0,5; 1; …; 4,5 secunde.
- La 4,9 secunde există clonele create în ultimele 2 secunde, adică la 3; 3,5; 4 și 4,5 secunde: 4 clone.
Clonele stau în același loc cu originalul, deci pe scenă se suprapun și par un singur personaj.
Ce ai învățat
La finalul fișei, poți:
- să obții numere aleatoare și poziții aleatoare pe scenă;
- să faci un obiect să cadă de sus până la marginea de jos;
- să creezi clone, să le dai scripturi și să le ștergi;
- să folosești variabile doar pentru acest personaj, câte una pentru fiecare clonă.