Основы программирования с блоками
Глава 6
>
Уровень 4
Цель
Очистите проход между зданиями от сорняков, используя вложенные условия в циклах.
Проход между зданиями зарос сорняками. Было бы неплохо собрать все сорняки и выбросить их. Вы можете автоматизировать этот процесс, используя условия внутри циклов. В редакторе есть несколько блоков, которые отключены; вы можете включить их, чтобы заполнить пробелы.
Создайте переменную с именем bag и установите её равной 0, используя блок set variable.

Используйте цикл while с условием для автоматизации процесса, вставьте внутрь блок comparison. Установите в блоке сравнения условие, проверяющее, что bag меньше 10, выбрав в выпадающем списке >.

Внутри цикла добавьте блок move forward и перетащите блок change variable из меню «Variables». Установите в выпадающем списке bag, а в числовом поле — 1.

Благодаря условию в цикле while он будет выполняться, пока условие истинно. Каждый цикл добавляет один сорняк в bag, и цикл автоматически останавливается, когда значение bag достигает десяти (10).
Пройдите к первой тёмной отметке X и повернитесь лицом к ящику; в двух расположенных ящиках мы будем сбрасывать собранные сорняки. Используйте цикл for с блоком place на отметках X. Однако количество шагов между контейнерами неравномерно из-за зазора между ними. Используя вложенные блоки if внутри цикла, вы можете пропускать выполнение определённого кода при выполнении условия.
Используйте блок цикла for с переменной x, изменяющейся от 0 до 2 с шагом 1. Внутри цикла разместите блок move forward, затем вставьте блок if с блоком comparison. В блоке comparison установите первый параметр x, знак сравнения «не равно» (≠), а числовое значение — 1.

Включите отключённые блоки внутри if, а в блоке place заполните блок operators, чтобы задать количество сорняков для контейнеров. Необходимо положить в каждый контейнер половину собранных и хранящихся в переменной bag сорняков. Для этого вставьте блок переменной bag из меню «Variables» в первый слот блока operators, выберите в выпадающем списке оператор %, а в числовом поле укажите 2.

Только когда x не равно 1 (то есть при x равном 0 или 2), выполняется код поворота направо, размещения сорняков и поворота налево. Так вы пропускаете среднюю итерацию (когда x равно 1), чтобы обойти зазор между контейнерами.
После того как вы соберёте и разместите сорняки в нужных местах, дойдите до выхода, отмеченного звездой, чтобы завершить уровень.