Программирование для начинающих с блоками
Глава
>
Уровень
Функции и процедуры
Использование условий в функциях
Цель
Открывайте ворота и чините мосты, используя одну пользовательскую функцию с условными операторами.
Путь через болото содержит несколько препятствий, которые необходимо преодолеть. Некоторые из этих препятствий повторяются, и вы можете автоматизировать их обход с помощью одной пользовательской функции с условиями.
На вашем пути встречаются два типа препятствий: двери, которые нужно открывать и закрывать, и мосты, которые нужно чинить. Создайте пользовательскую функцию, которая сможет справляться с обоими действиями, принимая команды "open" и "build" в качестве аргументов функции.
Используйте блок define function, чтобы создать функцию с именем navigate_swamp с параметром под названием action. Внутри функции используйте блоки if для проверки значения параметра action.
Внутри пользовательской функции, в условии ремонта (когда action равен "build"), используйте блок build с аргументом "bridge" для ремонта обрушившегося моста в центре карты. Настройте функцию так, чтобы игрок мог двигаться вперед и строить мост три (3) раза, чтобы пройти через болото.
Для второго варианта внутри пользовательской функции, используемого для открытия и закрытия ворот (когда action равен "open"), используйте блоки open и close. Настройте функцию так, чтобы сначала дверь открывалась, затем игрок двигался вперед на 2 шага, потом разворачивался (поворачивая налево два раза) и закрывал дверь, а затем снова разворачивался.
Подойдите к темным X, отмеченным перед дверями, и используйте блок call function, чтобы вызвать функцию navigate_swamp с аргументом "open" для прохода через ворота. Также соберите все бревна на поле и направляйтесь к первой встреченной яркой метке X; используйте блок call function, чтобы вызвать функцию navigate_swamp с аргументом "build" для перехода через ручей.
Двигайтесь к выходу, отмеченному звездочкой в конце пути, используя пользовательскую функцию, чтобы завершить уровень.