Програмування для початківців із блоками
Розділ
>
Рівень
Розширені списки та структури даних
Функції з вкладеними списками
Мета
Використовуйте користувацьку функцію, що перебирає поле, саджаючи та поливаючи культури.
На полі знаходяться кілька дерев, які потрібно посадити, тому візьміть мішок із насінням, а потім поповніть запаси води біля криниці. Використовуйте користувацьку функцію з вкладеною структурою списку (словника), щоб перебрати поле, посадити насіння, а потім його полити.
Візьміть мішок з насінням, який надасть вам наступне насіння дерев у вкладеній структурі: "orange : 3", "pear : 4", "apple : 3", "peach : 2". Пройдіть до позначки світлового X біля криниці та використовуйте блок collect із значенням "water", щоб зібрати воду.
Після того як ви зберете всі необхідні матеріали, створіть користувацьку функцію з назвою sow_field, використовуючи блок define function із трьома параметрами: tree, loops та direction. Усередині функції скористайтеся блоком циклу for з змінною x від 0 до loops - 1. У середині циклу використовуйте блоки if для перевірки, чи direction дорівнює "right" або "left", та виконуйте різні патерни руху та посадки в залежності від напрямку.
Перший аргумент, tree, є назвою ключа, що використовується у вкладеній структурі списку, якими є "orange", "pear", "apple" та "peach". Використовуйте блок plant зі змінною seeds та параметром tree як ключем.
Наступний аргумент — loops, який визначає кількість циклів, яку повинна виконати функція. Це дорівнює кількості насіння кожного типу на полі. Останній аргумент — direction, який може бути "left" або "right"; виберіть, в якому напрямку має рухатися гравець під час виконання циклів функції.
Направляйтеся до найвищої частини карти після збору води та використовуйте блок call function, щоб викликати sow_field з такими аргументами: "orange", 3 і "right". Виконайте це для всіх насіннєвих типів дерев, щоб завершити рівень.