Главная » Статьи » Программирование в среде Scratch » Занятия Scratch

Занятие 1. Практическая часть

Задание 1

Проект «Первый скрипт»

 

1 уровень сложности *

  • Открой среду программирования Scratch.

  • Найди спрайт.

  • Найди группу СОБЫТИЯ.

  • Возьми блок Когда щелкнут по флажку.

  • Найди блок Всегда в группе УПРАВЛЕНИЕ.

  • Склей оба блока друг за другом.

  • Добавь блок Идти () из группы ДВИЖЕНИЕ.

  • Сравни свой скрипт с образцом:

  • Запусти проект.

2 уровень сложности **

 

Куда девался кот? Как его вернуть на сцену?

  • Добавь к скрипту блок Если на краю, оттолкнуться из группы УПРАВЛЕНИЕ.

  • Сравни свой скрипт с образцом:

  • Запусти проект.

 

3 уровень сложности ***

 

Что случилось с котом?

  • Добавь к скрипту блок Стиль вращения (влево-вправо) из группы УПРАВЛЕНИЕ.

  • Сравни свой скрипт с образцом:

  • Запусти проект.

  • Измени скорость движения спрайта (чем больше число в блоке Идти() шагов, тем быстрее движется спрайт).

Сохрани проект.


 


 

Возьмите блок "идти 10 шагов" и киньте его в редактор кода. Теперь пощелкайте по нему мышью. Вы увидите, как от каждого клика кот на сцене будет смещаться на небольшое расстояние.

Если кот на холсте далеко ушел от середины, его можно взять здесь мышью и перетащить в новое место холста.

По идее программа должна запускаться, когда кликают по расположенному надо холстом зеленому флажку, а не по блоку команды, как это делали мы. Если мы сейчас кликнем на флажок, то ничего не произойдет.

Чтобы исправить это, нам нужна команда "когда флажок нажат" (в команде вместо слова "флажок" будет изображение зеленого флажка). Эта команда находится в желтом разделе "События". Переключимся сюда и бросим в редактор кода "когда флажок нажат".

После этого два блока – "когда флажок нажат" и "идти 10 шагов" – надо соединить подобно элементам конструктора Лего.

Простейшая программа в Scratch

Последовательность блоков важна. Команда, которая расположена выше, будет выполняться раньше, чем команда, которая расположена ниже. Часто конфигурация самих блоков подсказывает, как их надо соединять. Например, мы никогда не сможем сделать команду "когда флажок нажат" второй, третьей или какой угодно, кроме как первой. У этого блока нет выемки сверху, куда можно было бы вставить другой блок. Программа всегда начинается с команды "когда флажок нажат".

Теперь кот будет перемещаться при клике по зеленому флажку над холстом.

Однако от каждого клика кот по прежнему шагает всего где-то на 10 пикселей, и никакой нормальной анимации перемещения мы не видим.

Обратите внимание, что в команде "идти 10 шагов" поле с числом редактируемое. Туда можно записать любое число. То есть команда может выглядеть так: "идти 100 шагов". Или так: "идти -25 шагов". Поэтому правильно упоминать эту команду так: "иди … шагов", где вместо троеточия подразумевается произвольное число.

Мы могли бы предположить, что если вместо числа 10 в команде "идти 10 шагов" вписать число больше, то кот будет перемещаться на большее расстояние. Правильно. Код будет перемещаться. Однако анимации все-равно не будет. Кот будет делать гигантский прыжок от каждого клика по флажку.

Поэтому вернем наше заветное число 10, а может быть даже 5 или 1.

Давайте вернемся к реальности и подумаем, как мы на самом деле ходим. По-сути мы много раз делаем одно и тоже: шаг левой, шаг правой, шаг левой, шаг правой. Мы зацикливаем шаг, повторяем его много раз. Правильнее сказать: "мы шагаем в цикле".

Аналогично делается в Scratch. Следует поместить команду "идти … шагов" в какой-нибудь цикл. Циклы – это тоже строительные блоки и одно из важнейших понятий программирования. Циклам стоит посвятить отдельный урок. Однако сейчас не будем теряться, зайдем в оранжевый раздел "Управление" и перекинем в редактор кода блок "повторить 10 раз".

Однако куда его присоединять? Если мы подставим блок цикла снизу к команде "идти … шагов", это будет неправильно. В программировании логика важна. Получится, что кот сначала сделает шаги, а потом будет 10 раз повторять непонятно что. На самом деле ничего, так как тело цикла пусто, то есть блок "повторить … раз" ничего не обрамляет, ничего в себя не включает.

Программу надо пересобрать. Для этого сначала надо отсоединить блок "идти … шагов" от "когда флажок нажат". Чтобы разорвать связь между блоками, надо потянуть за нижний блок.

Теперь поместим команду "идти 10 шагов" внутрь цикла "повторить 10 раз", а цикл присоединим к блоку "когда флажок нажат".

Программа с циклом 'повтори'

В данном случае кот сделает в общей сложности 100 шагов, так как 10 раз умножить на 10 шагов будет 100 шагов. Однако эта программа отличается, если бы мы просто дали команду "идти 100 шагов". В случае цикла перед каждым его повторением будет небольшая невидимая на глаз задержка, в результате чего будет наблюдаться относительно плавная анимация.

Анимацию можно сделать более плавной, если установить меньшее число шагов и большее число повторений. Например, 1 шаг и 200 повторений. Но в этом случае кот будет двигаться медленно. Таким образом можно регулировать скорость перемещения объекта: чем больше шагов он делает за один повтор цикла, тем больше его скорость.

Заменим в нашей программе цикл "повторить … раз" на "повторять всегда". Эта команда также находится в оранжевой секции "Управление". Запустим программу. Что произойдет, когда кот дойдет до края экрана? Он остановится. Программа продолжает работать, но кот уже никуда не идет.

Чтобы принудительно остановить программу, надо нажать на красный кружок над холстом.

 

Категория: Занятия Scratch | Добавил: Натали (30.01.2020)
Просмотров: 663 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar