Scratch/VCRobot v50
Строка 25: | Строка 25: | ||
move (n1) steps | move (n1) steps | ||
end | end | ||
− | if <key [left arrow v] pressed?> | + | if <<key [left arrow v] pressed?> and <not <key [right arrow v] pressed?>>> then |
− | + | ||
turn @turnLeft (n2) degrees | turn @turnLeft (n2) degrees | ||
end | end | ||
− | + | if <<key [right arrow v] pressed?> and <not <key [left arrow v] pressed?>>> then | |
− | if <key [right arrow v] pressed?> | + | |
− | + | ||
turn @turnRight (n3) degrees | turn @turnRight (n3) degrees | ||
</scratchblocks> | </scratchblocks> | ||
Строка 79: | Строка 76: | ||
если <не <клавиша [стрелка направо V] нажата>>, то | если <не <клавиша [стрелка направо V] нажата>>, то | ||
повернуть @turnLeft на (n2) градусов | повернуть @turnLeft на (n2) градусов | ||
− | |||
конец | конец | ||
если <клавиша [стрелка направо v] нажата?> , то | если <клавиша [стрелка направо v] нажата?> , то |
Версия 11:19, 15 февраля 2018
Код для проекта https://scratch.mit.edu/projects/162395866/
1) 1 сводный общий цикл контроля событий:
нажимы клавиш (кнопок) ручного управления действиями робота-пылесоса:
ход Вперед, поворот Налево, поворот Направо.
2) Наличие взаимного исключения действий клавиш (кнопок) управления:
Налево и Направо.
3) Объединение пар условий взаимного исключения в общие составные условия.
Содержание |
Сводный общий цикл
Л: Латиница / En: Английский язык
Скрипт (на светлом фоне)
forever if <key [up arrow v] pressed?> then if on edge, bounce move (n1) steps end if <<key [left arrow v] pressed?> and <not <key [right arrow v] pressed?>>> then turn @turnLeft (n2) degrees end if <<key [right arrow v] pressed?> and <not <key [left arrow v] pressed?>>> then turn @turnRight (n3) degrees
Псевдокод скрипта
+++++++++++++++++++++++++++++++++++
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: Русский язык
Скрипт (на светлом фоне)
всегда если <клавиша [стрелка вверх v] нажата?> , то если на краю, оттолкнуться идти (n1) шагов конец если <клавиша [стрелка влево v] нажата?> , то если <не <клавиша [стрелка направо V] нажата>>, то повернуть @turnLeft на (n2) градусов конец если <клавиша [стрелка направо v] нажата?> , то если <не <клавиша [стрелка влево v] нажата?>>, то повернуть @turnRight на (n3) градусов
Псевдокод скрипта
+++++++++++++++++++++++++++++++++++
всегда
если <клавиша [стрелка вверх v] нажата?> , то
если на краю, оттолкнуться
идти (n1) шагов
конец
если <клавиша [стрелка влево v] нажата?> , то
если <не <клавиша [стрелка направо V] нажата>>, то
повернуть @turnLeft на (n2) градусов
конец
конец
если <клавиша [стрелка направо v] нажата?> , то
если <не <клавиша [стрелка влево v] нажата?>>, то
повернуть @turnRight на (n3) градусов
+++++++++++++++++++++++++++++++++++