Programare pentru începători cu blocuri
Capitolul
>
Nivel

Liste Avansate și Structuri de Date
Funcții cu liste imbricate

Scop

Folosește o funcţie personalizată care parcurge câmpul, plantând şi udând culturile.

Câmpul are mai mulţi copaci care trebuie plantaţi, ia sacul ce conţine seminţe şi apoi reaprovizionează-ţi apa de la fântână. Foloseşte o funcţie personalizată cu o structură de listă imbricată (dicţionar) pentru a parcurge câmpul şi a planta, apoi uda seminţele.

Ia sacul de seminţe care îţi va furniza următoarele seminţe de copaci într-o structură de listă imbricată: "orange : 3", "pear : 4", "apple : 3", "peach : 2". Mergi spre marca X luminată lângă fântână şi foloseşte blocul collect cu "water" pentru a aduna apa.

Odată ce ai adunat toate materialele necesare, creează o funcţie personalizată numită sow_field folosind blocul define function cu trei parametri: tree, loops şi direction. În interiorul funcţiei, foloseşte un bloc for cu variabila x de la 0 la loops - 1. În interiorul buclei, foloseşte blocuri if pentru a verifica dacă direction este egal cu "right" sau "left", şi efectuează modele diferite de mişcare şi plantare în funcţie de direcţie.

Primul argument, tree, reprezintă numele cheii folosit în structura de listă imbricată, acestea fiind "orange", "pear", "apple" şi "peach". Foloseşte blocul plant cu variabila seeds şi parametrul tree ca şi cheie.

Următorul argument este loops şi acesta determină numărul de cicluri pentru care doreşti ca funcţia să ruleze. Acesta este egal cu numărul de seminţe de fiecare tip din câmp. Ultimul argument este direction, acestea fiind "left" şi "right"; alege direcţia către care doreşti ca jucătorul să se mişte atunci când funcţia se repetă.

Mergi spre partea superioară a hărţii după ce ai adunat apa şi foloseşte blocul call function pentru a apela sow_field cu "orange", 3 şi "right" ca argumente. Fă asta pentru toate seminţele de copaci pentru a finaliza nivelul.

Carte de Cod