Scratch/VCRobot v40
Пример Scratch/VCRobot v40
из комплекта опорных примеров КП-010.
Список комплекта примеров представлен в отдельной статье Scratch / Домашний робот-пылесос:
http://letopisi.org/index.php/Scratch_/_Домашний_робот-пылесос
Код для проекта VCRobot v40:
https://scratch.mit.edu/projects/162391733
Тема работы
1) Объединение 3-х частных циклов контроля событий:
нажимы клавиш (кнопок) ручного управления действиями робота-пылесоса:
ход Вперед, поворот Налево, поворот Направо - 1 сводный общий цикл.
2) Наличие взаимного исключения действий клавиш (кнопок) управления:
Налево и Направо.
Содержание |
Сводный общий цикл
Л: Латиница / En: Английский язык
Скрипт (на светлом фоне)
when @greenFlag clicked forever if <key [up arrow v] pressed?> then if on edge, bounce move (n1) steps end if <key [left arrow v] pressed?> then if <not <key [right arrow v] pressed?>> then turn @turnLeft (n2) degrees end end if <key [right arrow v] pressed?> then if <not <key [left arrow v] pressed?>> then turn @turnRight (n3) degrees
Псевдокод скрипта
+++++++++++++++++++++++++++++++++++
when @greenFlag clicked
forever
if <key [up arrow v] pressed?> then
if on edge, bounce
move (n1) steps
end
if <key [left arrow v] pressed?> then
if <not <key [right arrow v] pressed?>> then
turn @turnLeft (n2) degrees
end
end
if <key [right arrow v] pressed?> then
if <not <key [left arrow v] pressed?>> then
turn @turnRight (n3) degrees
+++++++++++++++++++++++++++++++++++
К: Кириллица / Ru: Русский язык
Скрипт (на светлом фоне)
когда щелкнут по @greenFlag всегда если <клавиша [стрелка вверх v] нажата?> , то если на краю, оттолкнуться идти (n1) шагов конец если <клавиша [стрелка влево v] нажата?> , то если <не <клавиша [стрелка направо V] нажата>>, то повернуть @turnLeft на (n2) градусов конец конец если <клавиша [стрелка направо v] нажата?> , то если <не <клавиша [стрелка влево v] нажата?>>, то повернуть @turnRight на (n3) градусов
Псевдокод скрипта
+++++++++++++++++++++++++++++++++++
когда щелкнут по @greenFlag
всегда
если <клавиша [стрелка вверх v] нажата?> , то
если на краю, оттолкнуться
идти (n1) шагов
конец
если <клавиша [стрелка влево v] нажата?> , то
если <не <клавиша [стрелка направо V] нажата>>, то
повернуть @turnLeft на (n2) градусов
конец
конец
если <клавиша [стрелка направо v] нажата?> , то
если <не <клавиша [стрелка влево v] нажата?>>, то
повернуть @turnRight на (n3) градусов
+++++++++++++++++++++++++++++++++++