Робот в КуМире: чем команда движения отличается от проверки «слева свободно»?
Только начал КуМир с Роботом. Есть команды типа вправо, закрасить — это понятно. Но ещё есть какие-то слева свободно, справа стена. Это тоже команды? Чем они отличаются от движения и где их вообще использовать?
1 ответ
Это два разных типа конструкций, и важно их не путать.
Команды-действия — Робот что-то делает и сдвигается/меняет поле: вверх, вниз, влево, вправо, закрасить.
Условия (проверки обстановки) — Робот ничего не делает, а только отвечает «да/нет» на вопрос про соседние клетки: слева свободно, справа стена, сверху свободно, клетка закрашена и т. д.
Сами по себе условия бесполезны — их ставят внутрь если или нц пока:
нц пока справа свободно
вправо
закрасить
кц
Здесь справа свободно — это проверка: пока справа нет стены, Робот идёт вправо и красит. То есть действия двигают Робота, а условия позволяют ему «оглядываться» и решать, что делать дальше.