Decizii, repetări, funcții și expresii
Mișcările se calculează din distanțe și înălțimi, cu funcții și expresii matematice. Programul ia decizii cu if, repetă cu count și while și ține minte valori în variabile.
Ai nevoie de:
- Un proiect cu Alien, Ogre, o piatră (RiverRock) și un copac (PineTree)
1. Funcțiile
O funcție calculează o valoare și o dă înapoi, fără să miște nimic. Funcțiile unui obiect sunt în fila Functions, din panoul din stânga jos. Cele folosite des sunt:
getDistanceTo: distanța, în metri, până la alt obiect;getHeight,getWidth,getDepth: dimensiunile obiectului;isCollidingWith: adevărat când obiectul se atinge de altul;isFacing: adevărat când obiectul are fața spre altul.
Funcția se trage în locul unei valori dintr-o plăcuță. Mai jos, personajul sare cât este de înalt:
2. Expresiile matematice
Într-o valoare se poate scrie o expresie: un calcul cu numere și funcții. Expresia se alege cu
clic pe valoare, apoi Math, unde sunt operațiile +, -, * și /.
Personajul merge până la piatră și se oprește cu un metru înainte, oricât de departe ar fi piatra:
3. Decizia: if
Structura if verifică o condiție și execută una dintre cele două ramuri: prima, când condiția
este adevărată, a doua, else, când este falsă. Condiția de comparare se alege cu clic pe
true, apoi Relational, unde sunt <, >, == și celelalte.
4. Repetarea: count și while
- count repetă instrucțiunile de un număr cunoscut de ori;
- while repetă instrucțiunile cât timp o condiție este adevărată; numărul de repetări nu se știe dinainte.
Personajul înaintează cu pași mici cât timp este la mai mult de un metru de copac:
5. Variabilele
O variabilă păstrează o valoare cu un nume. Se creează cu plăcuța variable… din bara de sub editor, unde se aleg tipul, numele și valoarea de pornire. Valoarea se schimbă cu plăcuța assign.
Variabila pasi numără pașii făcuți până la copac:
Exerciții
🔑 Rezolvare
Distanța se măsoară între centrele personajelor. Cu jumătatea întreagă, centrele lor ar ajunge în același punct și personajele ar intra unul în altul; scăderea a 0.5 lasă un metru între ele.
🔑 Rezolvare
🔑 Rezolvare
- sare de 5 ori: count, pentru că numărul de repetări se știe dinainte;
- înaintează până atinge piatra: while, cu condiția „nu se atinge de piatră”;
- se rotește până ajunge cu fața spre copac: while, cu condiția „nu este cu fața spre
copac”. Aceeași mișcare se face direct cu
turnToFace.
Ce ai învățat
La finalul fișei, poți:
- să folosești funcțiile unui obiect: distanța, dimensiunile, atingerea;
- să calculezi mișcările cu expresii matematice în care intră funcții;
- să iei decizii cu if și else;
- să repeți instrucțiuni cu count și cu while;
- să creezi o variabilă și să-i schimbi valoarea cu assign.