Początkujące programowanie z blokami
Rozdział
>
Poziom

Zaawansowane listy i struktury danych
Funkcje z zagnieżdżonymi listami

Cel

Użyj niestandardowej funkcji, która przeszukuje pole, sadząc i podlewając rośliny.

Na polu znajduje się kilka drzew, które trzeba posadzić, weź torbę zawierającą nasiona, a następnie uzupełnij wodę przy studni. Użyj niestandardowej funkcji z zagnieżdżoną strukturą listy (słownik) do przeszukania pola, posadzenia, a następnie podlania nasion.

Weź torbę z nasionami, która da ci następujące nasiona drzew w zagnieżdżonej strukturze listy: "orange : 3", "pear : 4", "apple : 3", "peach : 2". Udaj się do lekkiego znaku X obok studni i użyj bloku collect z "water", aby zebrać wodę.

Po zebraniu wszystkich niezbędnych materiałów stwórz niestandardową funkcję o nazwie sow_field, używając bloku define function z trzema parametrami: tree, loops i direction. Wewnątrz funkcji użyj bloku pętli for z zmienną x od 0 do loops - 1. Wewnątrz pętli użyj bloków if, aby sprawdzić, czy direction równa się "right" lub "left", i wykonaj różne wzorce ruchu oraz sadzenia w zależności od kierunku.

Pierwszy argument, tree, to nazwa klucza używanego w zagnieżdżonej strukturze listy, którym są "orange", "pear", "apple" i "peach". Użyj bloku plant z zmienną seeds oraz parametrem tree jako kluczem.

Następny argument to loops i określa on liczbę cykli, przez które funkcja ma się wykonywać. Jest to równe liczbie nasion każdego typu na polu. Ostatni argument to direction, którym mogą być "left" i "right". Wybierz, w którą stronę chcesz, aby gracz się poruszał podczas wykonywania pętli funkcji.

Udaj się do górnej części mapy po zebraniu wody i użyj bloku call function, aby wywołać funkcję sow_field z argumentami "orange", 3 oraz "right". Zrób to dla wszystkich nasion drzew, aby ukończyć poziom.

Księga Kodów