Programare cu blocuri pentru începători
Capitolul 6
>
Nivel 3
Obiectiv
Descoperă dacă ingredientele sunt depozitate în containere și combină-le pentru a pregăti mâncarea.
Ai nevoie de mai multe ingrediente pentru a putea prepara o salată, dar mai întâi trebuie să le culegi. Vei găsi morcovi, roșii, salată și castraveți pe câmp, însă morcovii și castraveții sunt depozitați. Colectează elementele pe care le poți lua în grădina din dreapta.
Pentru a găsi ingredientele lipsă, mergi la marcajele X aurii din fața containerelor și testează condițiile pentru a verifica dacă acestea sunt stocate într-un container. Odată ajuns la marcajul X auriu, rotește-te la stânga cu fața spre hol pentru a executa o buclă. Folosește un bloc for pentru ca procesul de colectare a obiectelor să fie mai rapid și mai eficient; activează blocul dezactivat din editorul de blocuri.

Lăzile din depozit conțin obiecte, acestea fiind reprezentate de constanta de listă numită bag; aceasta are patru (4) elemente, câte unul pentru fiecare ladă. Folosește blocul for cu o variabilă x care variază de la 0 la 4. În interiorul buclei, folosește două blocuri if pentru a verifica dacă "carrot" sau "cucumber" se află în constanta bag.

Trage și plasează blocul in list din meniul lists în blocul comparison din interiorul blocului if. Inserează constanta de listă bag în primul loc pentru a verifica dacă obiectele se află în lăzi, setează primul dropdown pe get, iar al doilea pe #. În final, inserează variabila x din meniul Variables și plaseaz-o în ultimul slot. Această succesiune de blocuri caută în lista bag în funcție de numărul de cicluri pe care bucla le definește prin variabila x, care corespunde lăzii pe care te afli.

Această succesiune de blocuri in list va fi folosită de patru (4) ori în cele două blocuri if. În primul bloc if, plasează in list în blocul comparison setat pe =, apoi scrie în blocul string cuvântul "cucumber". În blocul collect, inserează încă un bloc in list pentru a colecta un cucumber dacă acesta este prezent în ladă.

În al doilea bloc if, folosește aceeași structură ca în primul, dar scrie "carrot" în blocul string. Aceste două blocuri if din interiorul buclei for vor determina personajul să parcurgă toate cele patru (4) lăzi, verificând dacă există fie "cucumber", fie "carrot" și colectându-le.

După ce ai colectat toate obiectele, stochează-le într-o listă numită items folosind blocul create empty list. Realizează acest lucru printr-un bloc set variable, adăugând variabila items și inserând blocul create empty list din meniul de liste.

În editor există blocuri insert list dezactivate pentru inserarea elementelor în lista items. Activează-le și inserează valori numerice corespunzătoare obiectelor pe care le-ai adunat, editând balonul cu numărul de la capătul blocului. Ordinea elementelor este următoarea: "carrots", "tomato", "lettuce", "cucumber"; inserează valorile care corespund fiecăruia.

În final, mergi la marcajul X deschis și combină toate obiectele pentru o masă folosind blocul combine. Inserează lista items în blocul combine pentru a pune toate legumele în recipientul pentru salată și a completa nivelul.