Scratch/VCRobot v60

Материал из Энциклопедия вычислительного мышлении
Перейти к навигации Перейти к поиску

Пример Scratch/VCRobot v60

из комплекта опорных примеров КП-010.

Список комплекта примеров представлен в отдельной статье Scratch / Домашний робот-пылесос:


Код для проекта VCRobot v60:

https://scratch.mit.edu/projects/203981026/


Тема работы

1) Объединение двух скриптов предыдущего проекта

Scratch/VCRobot v50

https://scratch.mit.edu/projects/162395866/:

  • скрипт задания начальных условий;
  • скрипт объединного общего (потенциально бесконечного) цикла контроля событий

2) Взаимное исключение действий клавиш (кнопок) управления противоположного типа

(в сводном общем цикле).


Объединенный общий скрипт[править]

Л: Латиница / En: Английский язык[править]

Скрипт (на светлом фоне)[править]

when @greenFlag clicked
pen up
go to x: (–195) y: (0)
point in direction [90 v]
set pen color to [@white ???] // #fffff = ?
set pen size to (60)
pen down
set [n1 v] to [5]
set [n2 v] to [5]
set [n3 v] to [5]
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

Псевдокод скрипта[править]

+++++++++++++++++++++++++++++++++++

when @greenFlag clicked

pen up

go to x: (–195) y: (0)

point in direction [90 v]

set pen color to [@white ???] // #fffff = ?

set pen size to (60)

pen down

set [n1 v] to [5]

set [n2 v] to [5]

set [n3 v] to [5]

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
поднять перо
перейти в x: (–195) y: (0)
повернуть в направлении (90 v)
установить цвет [@white ???] для пера // #fffff = ?
установить размер пера (60)
опустить перо
задать [n1 v] значение [5]
задать [n2 v] значение [5]
задать [n3 v] значение [5]
всегда
если <клавиша [стрелка вверх v] нажата?> , то
если на краю, оттолкнуться
идти (n1) шагов
конец
если <<клавиша [стрелка влево v] нажата?> и <не <клавиша [стрелка направо V] нажата>>>, то
повернуть @turnLeft на (n2) градусов
конец
если <<клавиша [стрелка направо v] нажата?> и <не <клавиша [стрелка влево v] нажата?>>>, то
повернуть @turnRight на (n3) градусов

Псевдокод скрипта[править]

+++++++++++++++++++++++++++++++++++

когда щелкнут по @greenFlag

поднять перо

перейти в x: (–195) y: (0)

повернуть в направлении (90 v)

установить цвет [@white ???] для пера // #fffff = ?

установить размер пера (60)

опустить перо

задать [n1 v] значение [5]

задать [n2 v] значение [5]

задать [n3 v] значение [5]

всегда

если <клавиша [стрелка вверх v] нажата?> , то

если на краю, оттолкнуться

идти (n1) шагов

конец

если <клавиша [стрелка влево v] нажата?> , то

если <не <клавиша [стрелка направо V] нажата>>, то

повернуть @turnLeft на (n2) градусов

конец

конец

если <клавиша [стрелка направо v] нажата?> , то

если <не <клавиша [стрелка влево v] нажата?>>, то

повернуть @turnRight на (n3) градусов

+++++++++++++++++++++++++++++++++++