Материал из Letopisi.Ru — «Время вернуться домой»
Dr.Scratch
Контроль
- Scratch/Flow control/Level1 -
сказать [последовательность]
- Scratch/Flow control/Level2 -
повторить ()
, всегда
- Scratch/Flow control/Level3 -
повторять пока не (<касается цвета [#000000]?>)
,
Все команды в одном блоке сказать [последовательность]
|
Используются конструкции повторить () и весгда всегда
|
Используются условия повторять пока не (<касается цвета [#000000]?>)
|
Критерий
|
Уровень 1
|
Уровень 2
|
Уровень 3
|
Flow control
|
когда щелкнут по @greenFlag
думать [Куда я хочу пойти?]
играть ноту (60 v) (0.5) тактов
играть ноту (62 v) (0.5) тактов
повернуть @turnLeft на (90) градусов
идти (10) шагов
повернуть @turnRight на (90) градусов
думать ()
|
когда щелкнут по @greenFlag
думать [Куда я хочу пойти?]
повторить (3)
повернуть @turnLeft на (90) градусов
идти (10) шагов
повернуть @turnRight на (90) градусов
ждать(0.5) секунд
конец
|
когда щелкнут по @greenFlag
повторять пока не (<касается цвета [#000000]?>)
повернуть @turnRight на (5) градусов
идти (10) шагов
конец
|
все величины определены в тексте программы идти (10) шагов
|
- используются переменные - задать [X v] значение (10)
|
используем списки для хранения данных идти (элемент (1 v) из [list v]) шагов
|
Абстракция (разбиение программы на блоки)
один длинный исполняемый скрипт идти (10) шагов поднять перо
|
определяем новые блоки определить РисуемДом блок и потом используем РисуемДом ::custom
|
создаем клоны создать клон [себя самого v]
|
Интерактивное взаимодействие
когда щелкнут по @greenFlag
|
и другие управляющие события - когда клавиша [пробел v] нажата
|
внешние сигналы если < [громкость v] > [39]>, то
|
Синхронизация
синхронизация поведения спрайтов через ждать (1) секунд
|
синхронизация через передать [Беги] и когда я получу[Беги]
|
синхронизация через реакцию на изменения когда фон меняется на [Лес v] или ждать до ((Х) = (0))
|
Параллельные действия
Все действия запускаются по зеленому флагу когда щелкнут по @greenFlag
|
Действия запускаются в ответ на нажатия разных клавиш когда клавиша [пробел v] нажата
|
Действия запускаются в ответ на сообщения когда я получу [сообщение1 v]
|
Логика
если <касается цвета [#000000]?>, то
|
если <касается цвета [#000000]?>, то
думать [Старт]
иначе
думать [Финиш]
|
если <<касается цвета [#000000]?> и <(Х) = (0)>>, то
|