Mișcarea aleatoare
Numerele alese la întâmplare fac animația să nu se repete identic: un pinguin se plimbă singur prin scenă, iar distanțele, rotirile și pauzele se schimbă la fiecare rulare.
Ai nevoie de:
- Un proiect cu un pinguin (Penguin) și câțiva copaci
1. Numerele aleatoare
Un număr aleator este ales la întâmplare de program, la fiecare execuție altul. În Alice, numerele aleatoare se aleg cu clic pe o valoare, apoi Random. Funcțiile de acolo sunt:
nextRandomDecimalNumberInRange: un număr cu zecimale între două valori;nextRandomWholeNumberFromAUpToAndIncludingB: un număr întreg între două valori, inclusiv ele;nextRandomBoolean: la întâmplare, adevărat sau fals.
Pinguinul înaintează de fiecare dată altă distanță, între jumătate de metru și doi metri.
2. Plimbarea la întâmplare
Pinguinul se rotește cu un unghi ales la întâmplare, înaintează o distanță aleatoare și face o pauză, la nesfârșit. Direcția rotirii, stânga sau dreapta, se alege tot la întâmplare:
3. Păstrarea în scenă
Un obiect care se mișcă la întâmplare poate ieși din imagine. O soluție este întoarcerea lui spre un obiect din mijlocul scenei, când se depărtează prea mult:
Blocul se pune în while, înainte de move.
4. Valori aleatoare și în alte mișcări
Numerele aleatoare se folosesc în orice valoare:
- înălțimea unei sărituri;
- durata unei mișcări, cu add detail → duration;
- numărul de repetări al unui count;
- replica spusă, aleasă cu un if după
nextRandomWholeNumberFromAUpToAndIncludingB 1, 3.
Exerciții
🔑 Rezolvare
Nu. Unghiurile, distanțele și pauzele se aleg la fiecare execuție, deci drumul este altul la fiecare rulare.
🔑 Rezolvare
Înălțimea se păstrează într-o variabilă: urcarea și coborârea trebuie să fie egale. Cu două numere aleatoare separate, pinguinul ar ajunge mai sus sau mai jos decât a pornit.
🔑 Rezolvare
Ce ai învățat
La finalul fișei, poți:
- să alegi numere aleatoare, cu zecimale sau întregi, și valori logice aleatoare;
- să construiești o plimbare la întâmplare cu while;
- să păstrezi în scenă un obiect care se mișcă aleator;
- să folosești numere aleatoare în durate, repetări și alegerea replicilor.