Текст
                    Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

◀ Ш КО Л А

Ю Н О ГО П Р О Г РА М М И С ТА ▶

А. С. Путина

SCRATCH 2.0:
ǻǿǺǻǯǵȄǷǭ
ǷǼǽǻDZǯǵǺȀǿǻǹȀ
ǼǻǸȉǴǻǯǭǿDzǸȋ
ǏǞǒǐǑǍ
ȁǭǺǿǭǴǵǽȀǶ
ǼǽǻǰǽǭǹǹǵǽȀǶ
ǼǻǮDzdzDZǭǶ

Пособие
для подготовки
к

ScratchОлимпиаде


Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» ◀ Ш КО Л А Ю Н О ГО П Р О Г РА М М И С ТА А. С. Путина SCRATCH 2.0: от новичка к продвинутому пользователю Пособие для подготовки к Scratch-Олимпиаде Под редакцией В. В. Тарапаты Электронное издание Москва Лаборатория знаний 2019 ▶
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» УДК 004.9 ББК 32.97 П90 С е р и я о с н о в а н а в 2018 г. Путина А. С. П90 Scratch 2.0: от новичка к продвинутому пользователю. Пособие для подготовки к Scratch-Олимпиаде [Электронный ресурс] / А. С. Путина ; под ред. В. В. Тарапаты. — Эл. изд. — Электрон. текстовые дан. (1 файл pdf : 90 с.). — М. : Лаборатория знаний, 2019. — (Школа юного программиста). — Систем. требования: Adobe Reader XI ; экран 10". ISBN 978-5-00101-618-2 В данном пособии обучение программированию на языке Scratch 2.0 ведется на основе методики пошагового обучения. Учащиеся младших классов научатся создавать мультики, учащиеся 5–8 классов — игры-викторины и компьютерные игры, а старшеклассники — образовательные проекты. Материал, включенный в пособие, соответствует тематике заочной международной Scratch-Олимпиады, проводимой ежегодно компанией «РОББО». Книга предназначена для дополнительного образования в школе и дома. Она будет полезна как руководителям кружков и родителям маленьких программистов, так и учащимся основной и старшей школы, которые хотят научиться программировать в среде Scratch, а также участвовать и побеждать в Scratch-Олимпиадах. УДК 004.9 ББК 32.97 Деривативное электронное издание на основе печатного аналога: Scratch 2.0: от новичка к продвинутому пользователю. Пособие для подготовки к Scratch-Олимпиаде / А. С. Путина ; под ред. В. В. Тарапаты. — М. : Лаборатория знаний, 2019. — 87 с. : ил. — (Школа юного программиста). — ISBN 978-5-00101-163-7. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации ISBN 978-5-00101-618-2 c Лаборатория знаний, 2019 ○
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» К читателю Олимпиады по информатике являются важной составляющей образовательного процесса. В старших (9–11) классах олимпиада по информатике — это фактически олимпиада по программированию. Совершенно очевидно, что за 1–2 года подготовиться к такой олимпиаде практически невозможно. Подготовку необходимо начинать как можно раньше. Появившийся около 10 лет назад язык программирования Scratch позволяет освоить основы программирования даже учащимся начальной школы. И компания «РОББО» каждый год проводит олимпиады именно по Scratch. Книга, которую вы держите в руках, предназначена для дополнительного образования. Она будет полезна как руководителям кружков и родителям совсем маленьких программистов, так и учащимся основной и старшей школы, которые хотят научиться программировать в среде Scratch, а также участвовать и побеждать в Scratch-Олимпиаде. Пособие можно использовать как для самостоятельного изучения Scratch, так и в урочной и внеурочной деятельности в школе. Включенный в нее материал соответствует тематике Scratch-Олимпиады, проведенной компанией «ROBBO» впервые на платформе ЗНАНИКА1 в 2017 году: 1) 1–2 классы — создание анимированной истории на любую тему; 2) 3–4 классы — создание анимации по одному из литературных произведений, изучаемых в школе; 3) 5–6 классы — создание компьютерной игры-викторины по одному из школьных предметов; 4) 7–8 классы — создание компьютерной игры; 5) 9–11 классы — создание образовательного проекта по одному из школьных предметов. С кратким регламентом Scratch-Олимпиады можно ознакомиться в приложении, помещенном в конце книги. 1  http://znanika.ru/ — Электронная школа ЗНАНИКА.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 4 К читателю Scratch-Олимпиада, проведенная в 2018 году, имела те же регламент и тематику заданий, что и ScratchОлимпиада 2017 года, изменились только названия номинаций. Электронная школа ЗНАНИКА — федеральный образовательный проект, созданный выпускниками МФТИ, олимпиадниками-международниками. В этом проекте участвуют практикующие учителя высшей категории и методисты. «РОББО» — российская компания-разработчик одноименного робототехнического комплекса для образования. При помощи «РОББО» можно обучить детей дошкольного возраста, начиная с 5 лет, а также школьников и студентов основам программирования и робототехники. Комплекс разработан на основе свободного программного и аппаратного обеспечения — все схемы блоков и модулей находятся в открытом доступе; их можно не только самостоятельно собрать, но и изменить. В команду «РОББО» входят специалисты из России и Финляндии, работающие в области свободного программного и аппаратного обеспечения. Подробнее о мероприятии и его организаторах можно ознакомиться, перейдя по ссылке: http://znanika. ru/olympiad/scratch. Среда программирования Scratch является свободно распространяемой. Программу можно бесплатно скачать на сайте разработчика. Работать в среде программирования Scratch можно как в браузере (https://scratch.mit.edu), так и установив офлайн-клиент на свой персональный компьютер (https://scratch.mit.edu/scratch2download/). Успехов в изучении!
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 1. Загрузка и установка Scratch 2.0 Offline Editor Как вы уже знаете, со Scratch можно работать в режиме онлайн и в режиме офлайн, то есть без подключения к сети Интернет. Режим офлайн надежнее, потому что, работая в нем, мы не будем зависеть ни от стабильности работы Интернета, ни от скорости соединения. Версия среды Scratch для работы офлайн называется Scratch 2.0 Offline Editor. Она доступна для свободного скачивания с официального сайта разработчика по ссылке: https://scratch.mit.edu/scratch2download/ При переходе по ссылке мы попадаем на страничку загрузки Scratch 2.0 OfflineEditor. Обратим внимание только на второй шаг: Здесь нужно кликнуть Скачать в строке, где указана операционная система, установленная на вашем компьютере или ноутбуке. Когда установочный файл будет скачан, нужно запустить его и следовать инструкциям по установке. Внимание! 1. Во время установки может понадобиться режим Администратора компьютера (или пароль для него).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 6 1. Загрузка и установка Scratch 2.0 Offline Editor 2. Во время установки может возникнуть ошибка — отсутствие среды выполнения AdobeAIR, необходимой для работы Scratch. Мастер установки предложит загрузить ее автоматически — нужно ответить согласием. Если загрузка не произошла и ошибка сохраняется, следует снова перейти на страницу загрузки Scratch 2.0 Offline Editor и скачать надстройку Adobe AIR на шаге № 1.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 2. Изучаем интерфейс программы Откроем среду программирования Scratch. При первом запуске она загружается на английском языке. Чтобы изменить язык, щелкнем по глобусу в верхней левой части окна программы. Что же представляет собой главное окно Scratch? Условно его можно разделить на три части: 1) область слева — Сцена, где появляется результат выполнения программы; 2) в центре — группы команд, с помощью которых осуществляется управление персонажами и не только; 3) справа — область скриптов, в которой из команд составляется программа.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 8 2. Изучаем интерфейс программы Под Сценой находится область управления спрайтами (объектами), о ней мы поговорим немного позже. Итак, в центре мы видим поле с разноцветными группами команд: Все команды распределены по группам, каждая группа имеет свой цвет: Группа Описание команд Движение Команды перемещения объектов Внешность Команды изменения внешнего вида объектов Звук Команды управления звуком Перо Команды рисования на экране Данные Команды создания и управления переменными и массивами данных (списками) События Команды управления событиями Управление Алгоритмические конструкции проверки условий и циклов, задержки Сенсоры Команды проверки и обработки событий и входных данных Операторы Арифметические и логические операции, работа с псевдослучайными числами, обработка строк Другие блоки Группа для создания собственных команд и подпрограмм Посмотрим, как действуют основные группы команд. Что будет, если открыть группу Движение и щелкнуть по команде Идти 10 шагов? А если в группе Внешность нажать команду Говорить Hello в течение 2 секунд?
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 2. Изучаем интерфейс программы 9 Для начала изучим группы Движение, Внешность и Звук, а после экспериментов напишем первую программу! Большинство программ в среде Scratch начинается с команды , находящейся в группе Со- бытия. Перетащим эту команду в поле скриптов, а затем, присоединив к ней необходимые команды, составим следующую программу: Заметим, команды выполняются последовательно, одна за другой, и соединить их можно только одним способом. Если мы захотим перетащить программу, нужно зажать левую кнопку мыши на команде , с которой начинается программа. Весь скрипт будет перетаскиваться целиком. Объекты в Scratch называют спрайтами. Среди них есть основной спрайт, который обозначен Sprite1. Это веселый рыжий котенок, назовем его, например, Мурзик. В программе есть много и других спрайтов. Как их найти? А вот как. Под сценой есть несколько кнопок, среди них: Выбрать спрайт из библиотеки, Нарисовать новый спрайт, Загрузить спрайт из файла, Получить новый спрайт с камеры.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 10 2. Изучаем интерфейс программы Нажмем первую кнопку, откроется новое окно — библиотека спрайтов: Мы пока не собираемся добавлять новые спрайты в наш проект, поэтому просто посмотрим, какие спрайты есть в библиотеке, закроем окно и двинемся дальше. Оказывается, спрайту можно менять костюм, рисовать дополнительные элементы и так далее. Щелкнем по Мурзику в области спрайтов в основном окне и перейдем на вкладку Костюмы. Можно немного поэкспериментировать! Чуть позже мы научимся работать с этим графическим редактором.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 2. Изучаем интерфейс программы Затем нажмем кнопку Очистить, так как сейчас сохранять изменения нам не требуется, и продолжим изучение главного окна. Слева от области спрайтов находится область фонов. Кнопки в этой области такие же, как и в области спрайтов. Сейчас фон Сцены просто белый. Нажмем кнопку Выбрать фон из библиотеки и посмотрим возможные фоны. Выберите какой-нибудь фон, например такой симпатичный дом: 11
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 12 2. Изучаем интерфейс программы Задания 1. Объясните, почему при щелчке по зеленому флажку не выполнится следующий скрипт. 2. Не используя среду программирования Scratch, расскажите, что делает спрайт при щелчке по зеленому флажку. Теперь вы уже готовы выполнить настоящий проект!
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 3. Делаем мультик в Scratch 2.0 Принцесса и рыцарь Мы изучили основные возможности программы, попробуем теперь применить их для создания мультика! Именно создание мультика было заданием на ScratchОлимпиаде для учащихся начальной школы. Учащиеся 1–2 классов должны были придумать или рассказать какую-либо историю (например, о своем походе в зоопарк), а учащиеся 3–4 классов — создать мультфильм с опорой на школьную программу. Итак, начнем. Пусть это будет красивая сказка про принцессу и рыцаря. Принцесса заблудилась в лесу. Она долго пытается найти дорогу в замок, но у нее ничего не получается. Темнеет, принцессе становится страшно. Кругом мерещатся пугающие привидения… Кто же спасет бедную принцессу? Ну конечно же, храбрый рыцарь! Откроем программу.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 14 3. Делаем мультик в Scratch 2.0 Прежде чем начать, сохраним программу, нажав Файл, а потом Сохранить как. Спрайты, которые нам понадобятся, находятся в библиотеке спрайтов под именами Princess, Ghost2, Khight. Мурзик для мультика нам не нужен, поэтому удалим его с помощью правой клавиши мыши. Привидения будут мерещиться принцессе и слева, и справа, поэтому дублируем спрайт Ghost2 с помощью кнопки Дублировать в верхней части окна. Но как же сделать так, чтобы одно из них было повернуто в другую сторону? Для этого нажмем в области спрайтов на тот спрайт, который хотим повернуть. В правом верхнем углу окна программы во вкладке Костюмы есть специальная кнопка – (Отразить сле-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Принцесса и рыцарь ва направо). Нажмем ее, и спрайт повернется. В итоге Сцена должна выглядеть так, как показано на следующем рисунке (расположение спрайтов не важно): Спрайты на Сцене получились слишком большими; с помощью инструментов (Увеличить) и (Уменьшить) спрайты можно увеличивать и уменьшать. Уменьшим их. Нам понадобятся также фоны castle3 (замок) и forest (лес), добавим их из библиотеки фонов. Белый фон (фон 1) нам не нужен, удалим его с помощью правой клавиши мыши. В итоге должно остаться только два фона, добавленных из библиотеки: 15
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 16 3. Делаем мультик в Scratch 2.0 Начнем писать программу с фона, потому что у него скрипт самый простой. Нажмем на Фоны под Сценой, а после — на вкладку Скрипты в верхней части окна. Справа появилась область, где мы будем писать программу. Вернемся к нашей сказке. Сначала принцесса идет по светлому лесу, в котором поют птички, а потом темнеет и просыпается сова. Первый скрипт мы начинаем как всегда с команды . Для начала сбросим значение яркости до нуля (группа Внешность, эффект Яркость выберем из выпадающего списка) для того, чтобы при каждом следующем просмотре яркость менялась одинаково. Поскольку у нас два фона, то в процессе анимирования фон нужно сменить на forest (также выберем его из выпадающего списка). В начале мультфильма поют птички, а потом, когда стемнеет, начинает «ухать» сова. На вкладке Звуки
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Принцесса и рыцарь в верхней части окна программы сразу добавим нужные звуки из библиотеки: bird (птица), rattle (лесной шум), whoop (сова). Если в группе Звуки щелкнуть по команде Играть звук bird (звук выбираем из выпадающего списка), то услышим одиночный очень короткий звук, а нам бы хотелось, чтобы он повторялся трижды. Как же это сделать? Очень просто! В группе Управление есть команда Повторить… . Перетащим ее в программу. Внутрь поместим команду Играть звук bird, после — Ждать 0.5 секунд. Далее вставим команду Ждать 1 секунду. После этого должны следовать команды Играть звук «rattle», ждать 5 секунд и изменить эффект «яркость» на –20. Последняя команда нужна для создания темноты, так как в лесу стемнело. Скрипт 17
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 18 3. Делаем мультик в Scratch 2.0 для фона готов! Должно получиться так, как показано на рисунке: Теперь переходим к спрайтам. В начале мультика рыцарь и привидения нам не нужны, поэтому для каждого спрайта создадим скрипты, позволяющие спрятать их: В результате после щелчка по зеленому флажку на Сцене остается только принцесса. Для спрайта Princess создадим скрипт, показанный на следующем рисунке. Кратко прокомментируем команды этого скрипта. Напоминаем, что x и y — это координаты; координата х отвечает за положение объекта по горизонтали, координата y — по вертикали. Сначала спрайт Princess установим в координатах (–50, 15), а его изначальный размер зададим равным 10% исходного. Затем для создания
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Принцесса и рыцарь эффекта приближения начнем постепенно увеличивать размер спрайта. Задавая координаты принцессы, следим, чтобы она шла по дороге, а не висела в воздухе. Внимание! Чтобы принцесса не перевернулась вниз головой, в поле спрайтов надо нажать на ее спрайт, далее на букву i и в строке стиль вращения выбрать (это меню настройки info). Должно получиться так: 19
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 20 3. Делаем мультик в Scratch 2.0 Теперь принцесса идет по лесу, говорит слова. Стемнело, и ей начинают мерещиться привидения. А как же привидения могут «узнать», когда им нужно вылетать? Для этого в группе События есть две замечательные команды: и и . В конец нашей программы вставим команду Передать «первый призрак» (В выпадающем списке выберем Новое сообщение и там напишем «первый призрак»): Кстати! На самом деле текст сообщений может быть любым, но лучше делать их понятными для облегчения чтения «кода» программы. Спрайт Ghost2 получает сообщение «первый призрак», появляется и начинает летать слева от принцессы, после чего прячется, передав спрайту Ghost3 сообщение «второй призрак». В результате мы получим следующий скрипт:
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Принцесса и рыцарь Спрайт Ghost3 должен получить сообщение «второй призрак», показаться и начать летать. Принцесса должна оборачиваться в конце их полета и говорить «Кто здесь?» и «Показалось…». Вместо предлагаемых для реализации скриптов можно проявить фантазию и попробовать сделать иначе. В итоге основной скрипт для принцессы нужно дописать так, как показано на рисунке: Далее для спрайта Princess допишем следующий скрипт: 21
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 22 3. Делаем мультик в Scratch 2.0 После этого щелкнем по зеленому флажку и проверим правильность выполнения программы. Можно придумать свои траектории полета привидений и действий принцессы. Нам остается дождаться появления благородного рыцаря, который спасет принцессу. Он должен появиться, когда улетят привидения, и со словами: «Принцесса! Я спасу тебя!» — вывести принцессу к замку. Программу для рыцаря предлагаем попробовать написать самостоятельно, а потом сравнить с нашей. Нужно позаботиться о том, чтобы при поворотах рыцарь не переворачивался вниз головой! Принцесса при получении сообщения «поворот» должна поворачиваться в сторону рыцаря: , а при получении сообщения «благодарит рыцаря» говорить ему слова благодарности и уходить с ним. Осталось только сменить фон на castle3 и отправить принцессу домой!
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Ваш первый самостоятельный проект Наш мультик готов! Ваш первый самостоятельный проект Придумайте свою историю и выполните ее в среде программирования Scratch. Тема может быть абсолютно любой: история по мотивам сказки, игры, мультфильма или рассказ на тему «Как я ходил в зоопарк». Количество задействованных спрайтов, количество скриптов, тема и алгоритм — на ваш выбор. Подобное задание предлагалось учащимся 1–2 классов и на Scratch-Олимпиаде. Смелее! У вас все получится! 23
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 24 3. Делаем мультик в Scratch 2.0 Оранжевый и зеленый Второй мультик мы сделаем по следующему сценарию. Представим себе, что на лесной поляне в густой траве встретились два жука. Пусть один из них будет оранжевый, а другой зеленый, но можно окрасить жуков в любые цвета. Встретились и стали удивляться окраске друг друга: почему один — зеленый, а второй оранжевый? Зеленый жук сказал: «Зеленым быть хорошо, потому что трава вокруг зеленая и в траве меня не будет видно. А значит, птицы не заметят и не склюют». Оранжевый возразил: «Нет, чтобы птицы не склевали, надо быть очень ярким!». Пока они спорили, и вправду прилетела птица. Чем кончилось дело? Придумайте это сами. Начало мультика мы сделаем вместе, а его концовку вы доделаете самостоятельно, по своему сценарию. Итак, откроем программу Scratch и заглянем в ее библиотеку. Посмотрим, есть ли в ней спрайт жука. Да, есть спрайт Beetle, но он не очень подходит по цвету. Что же делать? Есть очень простой выход — перекрасить этого жука! Добавим спрайт Beetle и продублируем его (мы уже умеем это делать). Нам ведь нужны два жука — оранжевый и зеленый. Знаете ли вы, что… Этот спрайт выполнен в векторной графике. Существуют два самых известных вида графики — растровая и векторная. Векторные изображения создаются с помощью геометрических примитивов (линия, прямоугольник, окружность и так далее), а растровые — с помощью точек (пикселей). Однако растровые изображения при масштабировании теряют качество. К примеру, спрайт Dog Puppy выполнен с помощью растровой графики, по факту этот спрайт — просто вырезка из фотографии.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Оранжевый и зеленый Вернемся к нашим жукам. Как мы уже договорились, одного нужно перекрасить в зеленый цвет, а другого — в оранжевый. Выберем одного из жуков — Beetle — и откроем знакомую нам вкладку Костюмы. Справа появилось поле из шахматных квадратиков, на котором можно создавать спрайты. Кстати! При сохранении рисунка фон из шахматных квадратиков станет прозрачным. Для удобства закрашивания увеличим жука с помощью кнопки в правом нижнем углу: Обратите внимание, что качество изображения не ухудшилось. Это подтверждает то, что спрайт создан с помощью векторной графики. А раз изображение векторное, его легко можно перекрасить так, как хочется. 25
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 26 3. Делаем мультик в Scratch 2.0 Справа от области рисования мы видим большое количество различных значков. Поочередно подводя к ним указатель мыши, можно узнать их назначение. Найдем среди них значок Окрасить форму и щелкнем по нему: Затем из палитры внизу выберем оранжевый цвет и подведем указатель мыши к тому месту на рисунке, которое хотим закрасить. Нажмем левую клавишу мыши — готово, одно крылышко стало оранжевым! Закрасим спинку жучка оранжевым, ножки коричневым, а усики, например, черным цветом.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Оранжевый и зеленый Задание Действуя так же, закрасьте второго жука зеленым цветом. После этого разверните его так, чтобы он смотрел на оранжевого. В итоге должно получиться примерно так: Самостоятельно добавьте фон, выбрав его из библиотеки или загрузив свой, например так: По сюжету нам нужна еще птица, которая будет охотиться за жуками. Добавим спрайт Parrot2 и немного изменим его форму. 27
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 28 3. Делаем мультик в Scratch 2.0 Для этого во вкладке Костюмы выберем пункт Изменение формы. Знаете ли вы, что… Такое изменение возможно только для векторных изображений — в этом заключается еще один плюс векторной графики. Наведем курсор мыши на любой фрагмент спрайта и кликнем левой клавишей мыши. Вокруг фрагмента появятся точки, с помощью которых можно изменять изображение. Изменим форму птицы. Задание Поменяйте цвет спрайта. Не забудьте, что этот спрайт должен иметь два костюма и изменить нужно оба. Несколько костюмов нужны для создания эффекта движения спрайта. Должно получиться, например, так: Ну вот, все нужные спрайты есть, можно создавать скрипты. Сначала спрячем птицу — она появляется только в конце мультика. С этой целью для спрайта Parrot2 напишем следующий скрипт:
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Оранжевый и зеленый Теперь создадим диалог жуков. Мы уже умеем это делать с помощью передачи сообщений, но сейчас мы познакомимся с другим способом создания диалога — с помощью Списков. Знаете ли вы, что… Списки — это набор элементов, расположенных в определенном порядке и имеющих нумерацию. Подробно о Списках мы будем говорить в следующих главах, а пока попробуем просто их применить. В группе Данные нажмем кнопку Создать список: Появится окно: Назовем список Оранжевый, потому что он будет содержать фразы оранжевого жука. Оставим настройку Для всех спрайтов по умолчанию. Это значит, что список будут «видеть» все спрайты, а не только какой-то один. Нажимаем ОК. Посмотрим, что изменилось. В середине окна появились новые команды (о них позже), а на Сцене — серый прямоугольник. Вверху этого прямоугольника написано название списка, в середине — empty (это означает, что список пустой, то есть в нем нет ни одного элемента), а внизу указывается длина списка (количество элементов в списке; пока его длина равна нулю). Задание Создайте такой же список для второго жука и назовите его Зеленый. 29
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 30 3. Делаем мультик в Scratch 2.0 Внимание! Если в области команд снять галочку, стоящую около названия списка, то список не будет отображаться на Сцене. Для наглядности галочки пока оставим: Заполним список Оранжевый фразами оранжевого жука: «А почему ты зеленого цвета?», «А почему надо, чтобы тебя не было видно?», «Нет! Чтобы птицы не склевали, надо быть очень ярким!», «Да!», «Это ты неправильно говоришь!» В левом нижнем углу серого прямоугольника есть плюсик, нажмем на него. В появившемся поле запишем первую фразу. Для записи каждой следующей фразы нужно опять нажать на плюсик. Чтобы удалить какую-то фразу, нужно нажать сначала на нее, а потом на крестик справа от фразы. Размер прямоугольника с диалогом можно изменять, потянув за правый нижний угол. В итоге должен получиться следующий список:
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Оранжевый и зеленый Второй список должен выглядеть так: Обратим внимание, что значение длины списков изменилось. Теперь списки можно спрятать, сняв соответствующие галочки: Далее нужно сделать счетчик, он будет отвечать за номер фразы в списке. Для этого нам нужна переменная. О том, что такое переменные и для чего они нужны, мы подробно поговорим в последующих главах. А пока просто добавим переменную из группы Данные, нажав кнопку Добавить переменную. Назовем ее count (счетчик). Оставим переменную видимой на Сцене для того, чтобы можно было наблюдать за тем, как изменяется ее значение (не будем снимать галочку). Напишем скрипты для спрайтов. Первым начинает говорить оранжевый жук, поэтому начнем писать скрипты для него. 31
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 32 3. Делаем мультик в Scratch 2.0 Сначала идет команда . После нее нужно задать переменной count значение 1 (потому что список начинается с первой фразы). Для этого в группе Данные есть специальная команда Задать… значение… Дальше идет немного странная на первый взгляд команда — нужно передать сообщение самому себе. Сообщение так и назовем: «Оранжевый говорит»: Когда оранжевый жук получит это сообщение, он должен сказать свою первую фразу. Для этого в команду Говорить… в течение 2 секунд вставляем (из группы Данные), и вместо 1 будет наша переменная count. После этого просто передаем сообщение «Зеленый говорит» — в диалог вступает зеленый жук. Теперь будем создавать скрипт для зеленого жука. Он будет выглядеть практически так же:
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Оранжевый и зеленый Запустим программу и посмотрим, что происходит на Сцене. Что-то не так? Спрайты по очереди обмениваются первыми фразами из своих списков. Почему же не появляются следующие сообщения? Это потому, что мы нигде не указали, что значение переменной count нужно увеличивать. Чтобы исправить положение, перед тем как зеленый жук передаст сообщение «Оранжевый говорит», нужно увеличить переменную на 1: Щелкнем по зеленому флажку и проверим, как работает программа. Теперь между спрайтами появился настоящий диалог! Понаблюдаем за изменением счетчика. Сначала все хорошо — переменная увеличивается с каждой следующей фразой спрайтов: Но вот диалог закончился, а что происходит с переменной count? Она продолжает увеличиваться, программа продолжает работать: Так быть не должно, нам не нужно, чтобы счетчик увеличивался после завершения диалога. Для решения этой проблемы нужна проверка условия. Добавим команду Если … , то … , иначе ... : 33
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 34 3. Делаем мультик в Scratch 2.0 То есть значение переменной увеличиваем на 1 и передаем соответствующее сообщение только при условии, если значение переменной меньше длины списка. Команда Меньше находится в группе Операторы. Из двух чисел меньше то, которое расположено левее на числовой оси. Например, число 5 меньше числа 7, а число 0 меньше числа 3: После последней фразы жуков должна появиться птица. Поэтому, если значение переменной больше или равно длине списка, нужно передать сообщение «птица». Когда птица получит это сообщение, она должна показаться в левом верхнем углу Сцены. Поэтому для спрайта Parrot2 создаем такой скрипт:
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Оранжевый и зеленый При полете птица должна махать крыльями, то есть менять костюмы: На этом месте остановимся. Как мы и договаривались, концовку мультика предлагаем сделать самостоятельно. Уверены, что все получится! Мы же далее предлагаем свой вариант развития событий. Он может также послужить подсказкой в написании скриптов, если возникнут трудности. Для того чтобы птица подлетела к ветке, нужно изменить координаты в группе Движение. Координата x отвечает за движение по горизонтали, координата y — за движение по вертикали. Чтобы спрайт переместился по горизонтали налево, нужно перед координатой x поставить знак «минус». Аналогично, чтобы спрайт переместился по вертикали вниз, нужно перед координатой y поставить знак «минус». В нашем случае птица перемещается вправо и вниз, поэтому перед числом, отвечающим за изменение координаты y, поставим знак «минус». Эти движения нужно повторить несколько раз, поэтому вставим их в команду Повторить… 35
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 3. Делаем мультик в Scratch 2.0 36 А теперь выполним последний скрипт еще раз. Птица опустилась еще ниже. Нужно сделать так, чтобы каждый раз она появлялась в одном и том же месте. Щелкнем по группе Движение и переместим птицу с помощью мыши в исходное положение. Тогда в поле команд в команде появятся нужные координаты. И эту команду необходимо переместить в самое начало скрипта. Добавим ее перед командой Показаться. Также укажем нужное число повторений команд в цикле: Когда птица появляется, зеленый жук должен спрятаться. Поэтому после цикла передадим сообщение о том, что птица прилетела. А зеленый жук, получив это сообщение, должен спрятаться. Соответственно в начале нужно добавить команду появления жука. Птица какое-то время сидит неподвижно, а потом улетает, после чего зеленый жук появляется, и жуки говорят друг другу: «Я же говорил!» Задание Сделайте озвучку к сказке. Запишите по тексту сказки аудиофайл с помощью любой программы1 для ре1 Мощной, простой и удобной программой редактирования звука является программа Audacity.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Ваш второй самостоятельный проект дактирования звука (например, прочитайте сказку сами) и добавьте его с помощью вкладки Звук. Необходимо сделать так, чтобы звуковое сопровождение соответствовало иллюстрациям. Для этого лучше всего каждую фразу записать отдельным файлом, а также использовать команду ожидания (Ждать … секунд). Наш мультик готов! Ваш второй самостоятельный проект С помощью среды программирования Scratch выполните творческий проект в форме анимации (желательно озвученной). За основу возьмите одно из произведений (стихотворение, рассказ, басня и др.), изучаемых в рамках учебных предметов «Русский язык», «Русская литература», «Английский язык», либо из дополнительной литературы на ваш выбор. Приветствуется выполнение фрагментов программы разными спрайтами. Подобное задание предлагалось для 3–4 классов на Scratch-Олимпиаде. Успехов! 37
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 4. Создание викторины Диалог программы и пользователя С помощью Scratch можно создавать программы, которые будут вести диалог с пользователем и реагировать на его ответы. Участникам Scratch-Олимпиады 5–6 классов было предложено создать викторину по какому-либо школьному предмету. Попробуем написать программу, в которой Мурзик здоровается с пользователем, называет свое имя, спрашивает имя пользователя и после ввода пользователем имени обращается к нему по имени. Сначала все просто. Мурзик должен сказать: «Привет!», «Меня зовут Мурзик!». С этим вы справитесь сами. После этого найдем, в какой группе есть команда, с помощью которой программа может задать вопрос пользователю. Подсказываем — это группа Сенсоры, команда . Вставим эту команду в программу и запустим ее. Что происходит на Сцене? Наш Мурзик действительно спрашивает, как нас зовут. Введем свое имя и нажмем галочку.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Диалог программы и пользователя Что наш спрайт делает дальше? Ничего. Куда же делась информация о нашем имени? Неужели просто так исчезла? Конечно же, нет. Убедимся в этом. В группе Сенсоры под командой есть специальная переменная Ответ . Поставим там галочку и посмотрим, что появилось на Сцене. Там появилась переменная, а внутри нее имя, которое мы ввели: . Мы убедились, что введенная информация никуда не исчезает. Теперь нужно, чтобы Мурзик обращался к нам по имени. Для начала вставим переменную Ответ из группы Сенсоры в команду Говорить в течение 2 секунд. 39
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 40 4. Создание викторины Запустим и увидим, что Мурзик теперь называет наше имя. Но Мурзик — вежливый кот, он хочет говорить: «Приятно познакомиться» и называть нас по имени. Для этого существует команда (то есть вывести на экран вместе). Она находится в группе Операторы. Сделаем следующую сложную конструкцию: в одно из окошек-параметров этой команды вставим еще одну такую команду: (сейчас поймете зачем). Заполним ее следующим образом: . Как мы помним, в ответе содержится введенное с клавиатуры имя. В итоге программа будет выглядеть так: Щелкнем по зеленому флажку и проверим, правильно ли работает программа. Теперь пришло время ввести переменные. Знаете ли вы… Что такое переменная? Если давать строгое определение, то переменная — это именованная область памяти компьютера, предназначенная для хранения определенного значения. Попробуем разобраться в этом на примере. Допустим, мы решили навести порядок на столе и разложить ручки, фломастеры и карандаши по трем коробкам.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Диалог программы и пользователя В первую положим ручки, во вторую — фломастеры, в третью — карандаши. А что получится, если мы, например, какой-то карандаш нечаянно положим в коробку с ручками? Мы потом не найдем его в коробке с карандашами, и произойдет путаница. Карандаш должен лежать с карандашами. Так вот, наши коробки — это и есть переменные. Надписи на коробках — имена переменных (могут быть любые названия). Количество ручек, фломастеров, карандашей — это значения переменных. В Scratch мы можем создавать свои переменные. Это делается при помощи группы Данные: В группе Данные нажмем Создать переменную и дадим переменной название: 41
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 42 4. Создание викторины Еще можно выбрать, будет ли эта переменная доступна для всех спрайтов (тогда это будет глобальная переменная) или для какого-то конкретного спрайта (локальная переменная). Оставим первый вариант и нажмем OK. При этом появляются новые команды. Обратим внимание, что переменная появилась в левом верхнем углу Сцены. Но если снять соответствующую галочку в области команд, эта переменная отображаться на Сцене не будет. Кроме того, при желании ее можно передвинуть в любую точку Сцены. При создании переменной появились четыре новые команды. Команда Задать … значение … записывает в переменную, выбранную из выпадающего списка (в случае если мы создали несколько переменных), конкретное значение (это операция присваивания). Команда Изменить … на … прибавляет или вычитает введенное значение из значения выбранной переменной. Задание Создайте команду, уменьшающую значение переменной count на 10. Последние две команды Показать переменную… и Скрыть переменную… соответственно отображают либо скрывают значение выбранной переменной на Сцене. Создадим мини-игру: Мурзик с друзьями играл в футбол, и мяч укатился. Какой ужас, его хочет схватить ведьма! Если игрок ничего не делает, то Мурзик
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Диалог программы и пользователя отдаляется от мяча, а если нажимает на пробел, Мурзик понемногу приближается к мячу. В игре мы используем много новых команд, которые нам пригодятся в будущем. Добавьте самостоятельно нужный фон и необходимых спрайтов. Мяч и ведьма никаких программ иметь не будут, все скрипты мы будем писать только для Мурзика. Кстати! Настоящие программисты дают переменным только англоязычные названия, так как основной код программы пишется на языке программирования, основанном на английском языке, — это упрощает чтение кода. Создайте переменную length самостоятельно. Эта переменная будет отвечать за положение Мурзика на оси x, которым мы будем управлять. Как мы уже сказали, если пользователь ничего не делает, кот должен отдаляться от мяча. Сначала переменную необходимо обнулить. Сделаем это с помощью команды Задать length значение 0: 43
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 44 4. Создание викторины При этом мы должны сообщить программе, что переменная и значение координаты x — это одно и то же в данном случае. Здесь нам поможет команда Установить x в length, вставленная в бесконечный цикл Всегда: Поскольку Мурзик должен отдаляться от мяча при бездействии пользователя, то координата его положения по оси x должна уменьшаться. Применим команду Изменить length на –1 и заключим ее в бесконечный цикл. (Подумайте, зачем нужно заключать команду в бесконечный цикл.) Теперь щелкнем по зеленому флажку и проверим, как работает программа. Если все сделано правильно, Мурзик должен отдаляться от мяча. Осталось заставить программу реагировать на нажатие клавиши Пробел. При нажатии этой клавиши должен меняться костюм Мурзика (чтобы показать, что Мурзик идет) и переменная должна увеличиваться на 10 (Мурзик приближается к мячу).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Диалог программы и пользователя Запустим программу теперь. Что происходит при нажатии клавиши Пробел? В конце концов Мурзик должен коснуться мяча и как-то отреагировать на это. Например, пусть он говорит: «Я выиграл!», после чего программа должна остановиться (команда Стоп все). Здесь нужно ввести новую команду Если (условный оператор). В случае когда условие выполняется, то есть Мурзик касается мяча Ball-Soccer, он должен сказать: «Я выиграл!», после чего программа останавливается. При желании можно поставить условие, чтобы Мурзик не двигался вперед, если дотронулся до мяча. Для этого в скрипт, начинающийся с Когда клавиша пробел нажата, добавим условие Если length< 76. В это условие вставим значение касания мяча. Наша мини-игра готова! Теперь у нас есть все необходимые знания для того, чтобы самим создать викторину! 45
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 46 4. Создание викторины Способы создания викторины Задание Scratch-Олимпиады для учащихся 5–6 классов заключалось в создании викторины для школьников по одному из учебных предметов. Она должна быть построена в виде диалога программы и пользователя, в ходе которого ведется подсчет правильных/неправильных ответов. Обратите внимание, что проект, написанный в виде диалога двух спрайтов, в котором один задает вопрос, а второй отвечает, но пользователь не принимает участия в проекте, не считается викториной! Многие участники Scratch-Олимпиады совершили такую ошибку! Давайте научимся делать викторину правильно. Способ 1. Самый простой Этим способом мы создадим викторину-тренажер, проверяющую знание таблицы умножения. С помощью чего можно подсчитывать количество правильных и неправильных ответов? Ну конечно же, с помощью переменных! Откроем программу и создадим переменные, которые так и назовем: correct answers (количество правильных ответов) и wrong answers (количество неправильных ответов). Сделайте это самостоятельно. Если хотите, перетащите переменные в любое место Сцены. Помните, что нужно сделать с переменными в начале программы? Правильно, обнулить. Сделайте это. Пусть сначала Мурзик поздоровается, потом спросит пользователя, хочет ли он пройти викторину. Если пользователь ответит «Да», Мурзик должен сказать: «Отлично, давай начнем!» В противном случае Мурзик должен сказать: «Ну, как хочешь…» и программа должна остановиться. Подумайте, какой из условных операторов подойдет в данном случае? Для того чтобы скрипт не был слишком перегружен, применим систему сообщений, которой мы уже умеем
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Способы создания викторины пользоваться. При выполнении первого условия Мурзик сначала говорит: «Отлично, давай начнем!» — после чего нужно передать сообщение 1. Задание Напишите скрипт самостоятельно и сравните с нашим. Щелкните по зеленому флажку и проверьте, правильно ли работает программа. С какой команды должен начинаться следующий скрипт? Предыдущий скрипт закончился передачей сообщения 1. Значит, нужно его получить, используя команду Когда я получу 1. Ну а дальше задаем вопрос, например, «Сколько будет 2 2?» Пользователь может ответить либо верно, либо неверно. Следовательно, необходим оператор условия. Если пользователь отвечает верно, спрайт должен подтвердить, что ответ верный и увеличить на 1 переменную correct answers, отвечающую за количество правильных ответов. Если же ответ неверный, Мурзик должен сказать, что ответ неверный, и увеличить на 1 переменную wrong answers. 47
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 48 4. Создание викторины Аналогично задаем все следующие вопросы. Для того чтобы вручную не прописывать каждый раз все команды, используем маленькую хитрость. В верхней части окна программы есть кнопка Дублировать . Нажмем ее, а потом нажмем на верхнюю команду из тех, которые нужно дублировать. Все они скопируются. Останется только подправить вопросы и ответы. Оставшиеся скрипты должны выглядеть следующим образом:
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Способы создания викторины 49
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 50 4. Создание викторины После этого Мурзик должен вывести количество правильных ответов. Мы уже умеем это делать: В заключение Мурзик должен оценить знания пользователя, то есть сказать, насколько хорошо тот знает таблицу умножения. Для этого допишем последний скрипт. У нас большое количество условий: Условие Количество правильных ответов равно 5 Количество правильных ответов равно 4 Количество правильных ответов равно 3 Иначе Что говорит Мурзик Ты отлично знаешь таблицу умножения! Ты неплохо знаешь таблицу умножения! Много ошибок, повтори таблицу умножения! Ты очень плохо знаешь таблицу умножения! Очевидно, что, если правильных ответов меньше 3 (то есть 2, 1 или 0), пользователь плохо знает таблицу умножения и можно не писать условие на 0, 1 и 2 правильных ответа, а написать в Иначе сразу для всех. Вот как это должно выглядеть: Наша первая небольшая викторина готова!
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Способы создания викторины Способ, который мы только что использовали для написания тренажера, удобен для создания викторины, например, по биологии, географии и другим предметам. А вот для создания математического тренажера совсем не обязательно каждый раз сравнивать ответ пользователя с правильным ответом, Scratch сам умеет считать! Для начала убедимся в этом. Составим программу, представленную на рисунке: Попробуйте разобраться в программе самостоятельно, это нетрудно. Задания 1. Подумайте, почему программа, написанная следующим образом, не будет работать? 2. Создайте программу, вычисляющую разность чисел. Используйте переменные m, n, Difference (разность). 3. Измените предыдущую программу таким образом, чтобы она вычисляла произведение двух чисел. Удалите переменную Difference и создайте переменную Product (произведение). 51
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 52 4. Создание викторины 4. Создайте аналогичную программу для деления. Помните, что на ноль делить нельзя! Это необходимо учесть при написании программы. Подсказка: попробуйте использовать условный оператор. Теперь, пользуясь полученными знаниями, напишем программу математического тренажера. Чтобы было интереснее, дадим пользователю возможность выбрать математическое действие, в котором он хочет себя проверить (сложение или умножение). Задействуем четыре переменные: a, b — числа, которые пользователь будет складывать или умножать, result — результат сложения (умножения), true — количество правильных ответов. Комментировать программу будем очень кратко, ведь многое вы уже можете сделать сами! Начинаем, как обычно: обнуляем переменную, отвечающую за количество правильных ответов (вспомните зачем). Далее пользователь должен выбрать, какие примеры он хочет решать: на сложение или умножение: . Если пользователь выберет 1, должны появляться примеры на сложение; если выберет 2, должны появляться примеры на умножение; если пользователь нажмет другую клавишу, программа должна заново запросить выбор. Вспомните, как мы действовали в самом первом тренажере: мы вводили примеры вручную. Это неинтересно, ведь каждый раз примеры будут появляться
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Способы создания викторины одни и те же. А нам бы хотелось, чтобы каждый раз примеры были разные. Оказывается, это можно сделать! В группе Операторы есть команда Выдать случайное от… до… По этой команде программа каждый раз будет выдавать новое число из того промежутка, который мы укажем. Например, если мы укажем промежуток от 1 до 5, программа выдаст число 1, 2, 3, 4 или 5. Итак, пользователь выбрал 1, то есть сложение. Задаем переменным a и b случайные значения из промежутка, например, от 1 до 10, а переменной result задаем значение их суммы. Спрашиваем пользователя, чему будет равна сумма. В случае когда ответ совпадает с правильным, увеличиваем true на 1. Если будет, например, 5 вопросов, то потребуется цикл Повторить 5. Если пользователь выбирает 2, программа выдает примеры на проверку умножения. Здесь все аналогично, не считая небольших изменений. 53
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Если пользователь нажимает какую-то другую клавишу, программа говорит: В заключение программа должна сообщить пользователю, сколько у него верных ответов, и дать оценку, насколько хорошо он умеет считать. Делаем это с помощью условного оператора. Викторина по математике готова!
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Способы создания викторины Задания 1. Сделайте интерфейс программы более дружелюбным: можно заменить спрайт или фон либо сделать так, чтобы спрайт двигался, и так далее. 2. Дополните программу проверкой вычитания. 3. Измените программу так, чтобы на каждое действие выдавалось не 5, а 10 примеров. В этом случае в конце программы должны быть такие оценки: 1) если пользователь дал 9–10 правильных ответов: «Ты отлично умеешь считать!»; 2) если пользователь дал 7–8 правильных ответов: «Ты неплохо считаешь!»; 3) если пользователь дал 5–6 правильных ответов: «Ты считаешь не очень хорошо!»; 4) если пользователь дал менее 5 правильных ответов: «Ты считаешь плохо!». Способ 2. С помощью переменных Здесь мы разберем другой способ создания викторины. Возможно, он не совсем удобный, но в нем есть свои плюсы: научившись создавать викторину таким способом, легче освоить списки, которые мы уже немного обсуждали при создании мультфильма. С помощью списков тоже можно создавать викторины, но об этом мы поговорим позже. Способ 2 заключается в создании большого количества переменных, отвечающих за вопросы и правильные ответы. Итак, давайте откроем Scratch и создадим для простоты викторину всего из трех вопросов. Для этого нужно создать три переменные, отвечающие за вопросы (question1, question2, question3), и три переменные, отвечающие за ответы (answer1, answer2, answer3). Создайте эти переменные самостоятельно. Сначала все созданные переменные необходимо скрыть с помощью команды Скрыть 55
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 56 4. Создание викторины переменную… из группы Данные, а после задать переменным соответствующие значения вопросов и ответов, как показано на рисунке: Также нужно создать две переменные, отвечающие за количество правильных (true) и неправильных (mistakes) ответов, и задать значение 0 для обеих. Теперь можно задавать вопросы. Если на первый вопрос пользователь отвечает верно, говорим: «Верно!» и увеличиваем true на 1. Если же он отвечает
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Способы создания викторины неверно, говорим: «Неправильно!» — и увеличиваем mistakes на 1. Аналогично прописываем второй и третий вопросы. Сделайте это самостоятельно. Вспомните про инструмент , он поможет ускорить процесс. После того как все вопросы прописаны, нужно поблагодарить пользователя за участие в викторине. Далее, если пользователь захочет, нужно показать ему правильные ответы (с помощью команды Показать переменную… из группы Данные). 57
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 58 4. Создание викторины Задания 1. Придумайте свои улучшения для усиления дружелюбности интерфейса. 2. Создайте свою викторину способом 2. Способ 3. Списки При создании мультика про жуков мы уже использовали Списки из группы Данные. Пришло время более подробно изучить их применение в программах. Этот способ похож на тот, где мы создавали для каждого вопроса и ответа свою переменную. Только теперь мы будем использовать Списки. Создадим три переменные: две из них (mistakes, true) уже известны нам из предыдущего способа, а еще одна, с именем index (индекс, указатель), будет заменять большое количество переменных, использованных в предыдущий раз: Еще нужно создать два списка — questions и answers. Начинаем писать код программы. Как всегда, обнулим переменные, отвечающие за количество ошибок и правильных ответов, а переменной index зададим значение 1 (подумайте почему). Далее на уровне программы скроем оба списка и удалим из них все содержимое (аналогично тому, как мы обнуляем переменные). После этого добавляем элементы в список (вспомните, каким образом мы добавляли элементы в списки в мультике про жуков). Этот способ намного удобнее. Если мы случайно удалим элемент списка со Сцены, то при следующем прогоне программы он появится снова. А если бы мы добавляли элементы вручную, нам пришлось бы восстанавливать список.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Способы создания викторины Далее спрайт называет количество вопросов (используется значение длины списка вопросов), а после начинает задавать вопросы. Поскольку количество вопросов равно длине соответствующего списка, то последующие команды нужно включить в цикл. Внутри цикла спрайт задает вопрос. Если ответ совпадает с элементом списка, спрайт говорит, что ответ верный, и переменная true увеличивается на 1. В противном случае спрайт говорит, что ответ неверный, и тогда переменная mistakes увеличивается на 1. После условного оператора Если …, то …, иначе … изменяем переменную, отвечающую за номер элемента в списке, на 1. 59
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 60 4. Создание викторины Далее, как обычно, благодарим за участие в викторине и спрашиваем, хочет ли участник посмотреть правильные ответы. Если «да», то показать ему список вопросов и ответов. Викторина готова! Как видите, код программы получился намного короче и аккуратнее. Задания 1. Улучшите интерфейс программы по своему усмотрению. 2. Создайте свою викторину описанным выше способом по образцу.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Способы создания викторины Способ 4. Подпрограммы Викторину, созданную способом 2, можно улучшить: сделать код программы более коротким и более правильным с точки зрения программирования. Откроем программу и усовершенствуем ее. Посмотрим на код программы и постараемся найти похожие части: Похожие части возникают при постановке вопросов пользователю. Каждый вопрос — это отдельная часть 61
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 62 4. Создание викторины программы. Эти три части (три вопроса) можно объединить и сделать программу короче. Делается это следующим образом. Откроем группу Другие блоки, появится команда Создать блок: Если нажать на нее, то появится окно: Щелкнем по слову Параметры и посмотрим, что здесь можно использовать для создания нового блока. Это числовое и строковое поля, логическое значение, текст. Нас интересует строковое поле, так как вопросы и ответы викторины — это именно строки. В программировании строкой называется любая последовательность символов, включающая в себя более одной буквы и не являющаяся чисто числом (хотя и цифры могут восприниматься компьютером как символы). В окошке напишем «задать» (поскольку будем задавать вопросы) и добавим строковое поле:
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Способы создания викторины Далее с помощью функции добавления текста подписи и второго строкового поля напишем «и проверить ответ». Ответ, разумеется, является строковым полем: . После всех настроек нажимаем ОК. На поле скриптов появилась новая фиолетовая конструкция: , а в поле групп команд — новая команда . Фрагмент программы, с помощью которого задается вопрос, перенесем под фиолетовую конструкцию, где вместо переменных вставим «вопрос» и «ответ» из новой конструкции. Оранжевые переменные вставим в основную часть программы с помощью той самой новой команды, которая появилась в группе Другие блоки. 63
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 64 4. Создание викторины Таким образом, мы унифицировали часть программы, используемую для формирования вопросов, и теперь можем использовать эту часть для остальных вопросов. Применим команду Задать… и проверить… для второго и третьего вопросов викторины. Удалим ненужные блоки для второго и третьего вопросов и нижнюю часть программы передвинем наверх. Получится следующее: Проверим, работает ли программа так, как раньше. Да, все работает верно.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Способы создания викторины Уже сейчас основная программа стала намного короче, чем была, но ее можно еще сократить. Создадим новую команду и назовем ее Начало. Эта часть называется дополнительным кодом (подпрограммой) и будет отвечать за скрытие переменных и задание значений переменным. Использовать параметры мы в ней не будем. А основной код будет выглядеть так: 65
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 66 4. Создание викторины Как видим, основная часть кода стала еще короче. Из нее мы просто ссылаемся на дополнительный код, отвечающий за начало программы. Знаете ли вы… Что настоящие программисты всегда создают код программы таким образом: основная программа (в которой видна последовательность действий) ссылается на подпрограммы. Можно сказать, что основная программа содержит нить рассуждений в виде ссылок на дополнительные программы. Задание Создайте блок с названием Конец и поместите в него все команды, отвечающие за окончание программы. Если все сделано правильно, основной код вашей программы сейчас состоит всего из семи строк. Причем это настоящая работающая викторина! Итак, вы узнали несколько способов создания викторины. Выбирайте тот, который вам нравится, и воплощайте свои идеи! А дальше мы перейдем к самому сложному разделу — будем учиться создавать игры!
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Ваш третий самостоятельный проект Ваш третий самостоятельный проект Создайте свою собственную игру-викторину. Вопросы викторины должны относиться к одной из тем, изучаемых в рамках учебных предметов «Математика», «История», «География», «Биология», «Литература». Викторина должна быть построена в виде диалога программы и пользователя. Должен вестись подсчет правильных/неправильных ответов. Подобное задание предлагалось учащимся 5–6 классов на Scratch-Олимпиаде. 67
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 5. Создаем игры в Scratch 2.0 Вы уже очень много знаете и умеете, пора попробовать создавать настоящие игры. Динозаврик и сладости Начнем с простого. Идея: пусть в нашей игре динозаврик бегает по полю, на котором растут сладости, и ест их. Через какое-то время сладости вырастают снова. Что для этого нужно: спрайт динозаврика и спрайты сладостей. Динозаврик должен каким-то образом управляться — мышью или клавишами (мы попробуем и так, и так). И конечно, в игре должно присутствовать много различных интерактивных моментов, чтобы было интересно играть. Приступим к созданию игры. Выберем спрайты: Динозаврик (Dinosaur1) и сладости — Кекс (Muffin), Тортик (Cake), Пончик (Donut). Разместим их на Сцене и уменьшим (вспомните, как это сделать). Выберем фон.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Динозаврик и сладости Сначала сделаем то, что проще: напишем скрипт, который позволит управлять Динозавриком с помощью мыши. Позже сделаем управление с помощью клавиш клавиатуры. Нам нужно, чтобы Динозаврик все время был там, где находится указатель мыши. Для этого возьмем команду Перейти в указатель мыши и поместим ее в цикл Всегда, так как нам нужно, чтобы это выполнялось всегда. Скрипт для Динозаврика готов: Теперь напишем скрипт, например, для спрайта Muffin. Здесь все просто, поэтому понятно и без объяснений. Щелкнем по зеленому флажку и проверим, как работает программа. Отлично, Динозаврик «бегает» за курсором мыши и съедает кексы. А теперь снова нажмем на зеленый флажок. Что-то не так? Кекс не «вырастает» снова! Правильно, ведь Scratch запомнил, что спрайт должен спрятаться. Поэтому перед циклом необходимо вставить команду Показаться. Сделайте это самостоятельно. Для остальных спрайтов скрипты должны быть абсолютно такими же. Как бы сделать эти скрипты очень быстро? А вот как: перетащим мышью скрипт, напи- 69
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 70 5. Создаем игры в Scratch 2.0 санный для Muffin, на оставшиеся спрайты в области спрайтов по очереди. Скрипт продублируется: Отлично, самая простая версия игры готова! Усовершенствуем ее: сделаем управление Динозавриком с помощью клавиш-стрелок на клавиатуре. Перед этим нужно удалить скрипт управления спрайтом с помощью мыши. Для спрайта Dinosaur1 создадим вот такой скрипт: Запускаем программу и нажимаем стрелку вверх. Замечаем, что спрайт двинулся вправо, а должен двигаться вверх. Для решения этой проблемы изменим направление спрайта. Проверяем правильность выполнения. Все работает верно, если не считать, что спрайт вращается во все стороны. Ограничим его повороты нажатием кнопки в области спрайтов. Для остальных трех стрелочек предлагаем написать скрипты самостоятельно.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Динозаврик и сладости Ну вот, теперь мы можем управлять Динозавриком с помощью клавиш! Усложним игру: сделаем так, чтобы, после того как сладость спряталась (ее съел Динозаврик), она через 5 секунд появлялась снова (вырастала). Для подсчета очков (количества съеденных сладостей) создадим самостоятельно переменную count (счетчик). Вспомним, для чего нужно обнулять переменную в начале программы. Пусть на поле растет много-много сладостей. Для этого наведем курсор мыши на Muffin в области спрайтов и с помощью правой клавиши мыши продублируем его. То же самое проделаем с остальными сладостями. Проверим, сохранились ли скрипты в дублированных спрайтах. 71
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 72 5. Создаем игры в Scratch 2.0 Теперь сладостей на Сцене стало вдвое больше. Дублирование можно повторить несколько раз, чтобы их стало еще больше. Сделаем так, чтобы в начале игры Динозаврик всегда появлялся в одном и том же месте. Напоследок зададим условие окончания игры, например, когда набрано 50 очков (съедено 50 сладостей), Динозаврик должен говорить: «Молодец, ты отлично умеешь играть!»; после этого все процессы должны останавливаться (с помощью команды Стоп все). Наша, пусть несложная, но все же самая настоящая, игра готова! Задания 1. В некоторых играх вместо клавиш-стрелочек для управления используют клавиши w (вверх), a (влево), s (вниз), d (вправо). Измените код программы так, чтобы Динозаврик управлялся этими клавишами. 2. Дополните код программы: пусть при касании сладостей Динозаврик подрастает (увеличивается в размере). Установите ограничение на размер, чтобы Динозаврик не стал занимать половину экрана. Начальный размер установите 50%.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Лабиринт Лабиринт В этой игре действие будет происходить в лабиринте. Идея состоит в том, чтобы игрок, управляя мячом, собрал все ключи. Он не сможет выйти из лабиринта, пока не соберет их все. Добавим нужные спрайты согласно рисунку. Лабиринт можно нарисовать с помощью графического редактора Scratch, а можно добавить готовый, скачав картинку из сети Интернет. Выберем цвет стен лабиринта, у нас будет черный. Главное, следить за тем, чтобы все стены были строго одинакового цвета, иначе мяч сможет проходить сквозь них. Сделаем так, чтобы мяч отскакивал от стен лабиринта при их касании. Для этого спрайт должен менять координаты. До касания границ при нажатии клавиши «стрелка вверх» спрайт должен увеличить координату по оси y на 4 (команда изменить y на 4), при нажатии клавиши «стрелка вниз» — уменьшить координату по оси y на 4 (команда изменить y 73
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 74 5. Создаем игры в Scratch 2.0 на –4); при нажатии клавиши «стрелка направо» спрайт должен увеличить координату по оси x на 4 (команда изменить x на 4), при нажатии клавиши «стрелка влево» — уменьшить координату по оси x на 4 (команда изменить x на –4). Теперь рассмотрим изменение координат спрайта при отскоке, то есть когда он касается цвета. При касании верхней горизонтальной границы спрайт должен уменьшить координату по оси y на 4 (команда изменить y на –4), а при касании нижней горизонтальной границы — увеличить координату по оси y на 4 (команда изменить y на 4). При касании правой вертикальной границы спрайт должен уменьшить координату по оси x на 4 (команда изменить x на –4), а при касании левой вертикальной границы — увеличить координату по оси x на 4 (команда изменить x на 4). В начале игры мяч должен находиться строго в стартовой точке — там, где показано на рисунке лабиринта. Зафиксируем эти координаты с помощью известной нам команды: Для подсчета количества собранных ключей введем переменную count. Управление мячом создадим с помощью клавиш-стрелочек (вспомним, как это делается). Когда при движении мяч касается ключа, переменная должна увеличиться на 1. После касания всех пяти ключей (переменная станет равна 5) спрайт мяча передает сообщение о том, что все ключи собраны. В конце игры выводится фраза: «Ура! Получилось!» В результате должен получиться код скрипта для спрайта-мяча, изображенный на следующей странице.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Лабиринт 75
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 76 5. Создаем игры в Scratch 2.0 Знаете ли вы, что… Операция A ИЛИ B означает, что нам подойдет или A, или B, или и то и другое вместе. Когда все ключи собраны (переменная сount = 5), передается сообщение «Собрал». Это сообщение получит спрайт двери, который мы сейчас создадим. Нарисуем границу, которая будет служить дверью. Дверь откроется только тогда, когда будут собраны все ключи. Дверь должна показаться в начале игры и спрятаться при получении сообщения о том, что все ключи собраны. Действия двери отображаются двумя скриптами: Ключи собираются согласно скрипту, который у всех спрайтов-ключей одинаковый: Для выигрыша игрок должен коснуться звездочки. Для спрайта-звездочки скрипт не нужен, звездочка нужна для фиксирования выхода мяча из лабиринта. Игра готова!
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Ловим фрукты Ловим фрукты Создадим еще одну игру. В ней с волшебного дерева будут падать разные фрукты, а мы будем их ловить в шляпу! Для игры нам потребуется три фона. В первую очередь само дерево. Найдем этот фон в библиотеке. Второй фон потребуется в случае выигрыша. Он также есть в библиотеке, нужно только добавить надпись «You win!» («Ты выиграл!»). 77
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 78 5. Создаем игры в Scratch 2.0 Ну и третий фон, без которого нам не обойтись, это фон проигрыша. С помощью кнопки Нарисовать новый фон создадим этот фон самостоятельно и сделаем на нем надпись «Game over» («Игра окончена»). Вы можете в дальнейшем улучшить игру, добавив на этот экран кнопку новой игры. Что нам еще потребуется для игры? Конечно же, спрайты шляпы Hat (в нее мы будем ловить фрукты) и фруктов: Apple (яблоко), Bananas (бананы), Orange (апельсин), Watermelon (арбуз). Для спрайта шляпы напишем скрипт, согласно которому спрайт в начале игры будет перемещаться в определенную точку. Также напишем скрипты, согласно которым пользователь будет управлять шляпой с помощью клавиш-стрелочек. Изначально спрайт шляпы, позаимствованный из библиотеки, расположен «дном» вверх и потому не может удерживать фрукты, то есть шляпу нужно перевернуть. Для этого перейдем во вкладку Костюмы и нажмем Отразить сверху-вниз. Теперь в шляпу можно собирать фрукты! При расположении шляпы на экране следует учитывать расстояние от ее дна до границы экрана. Также обратите внимание на касание границ экрана падающими фруктами.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Ловим фрукты В начале игры должен быть установлен фон tree. Создадим соответствующий скрипт: Для каждого спрайта напишем скрипт, под управлением которого он будет двигаться. Спрайт должен появляться в произвольном месте вверху сцены и двигаться вниз. Создадим приведенный ниже скрипт и продублируем его для всех спрайтов-фруктов. Мы уже уверенно пользуемся Scratch, поэтому подробно комментировать скрипт не будем, напомним лишь, что необходимо создать переменную count и обнулить ее в самом начале скрипта. Если фрукт коснется шляпы, переменную нужно увеличить на 2, если коснется нижнего края Сцены, — уменьшить на 1. Обратим внимание на размеры спрайтов-фруктов. Если они будут слишком большими, то не смогут помещаться в шляпе. Кроме того, соотношения размеров фруктов между собой должны приблизительно соответствовать действительности. Например, яблоко не должно быть больше арбуза. 79
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 80 5. Создаем игры в Scratch 2.0 Отлично! Игра почти готова, осталось совсем немного — задать условия окончания игры. Дополним скрипт, меняющий изначальный фон на tree. Если количество очков превысит 49, должно появиться сообщение о выигрыше (должен смениться фон). Отрицательное (меньше нуля) количество очков означает, что игрок проиграл. В этом случае тоже должно появиться соответствующее сообщение (опять меняем фон).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Ваш четвертый самостоятельный проект Создадим нужный скрипт и проверим, как работает программа. Все должно работать правильно, кроме одного: при смене фона не исчезают спрайты. И кроме того, после вывода сообщения о выигрыше или проигрыше спрайты-фрукты продолжают падать. Это нужно исправить. Для спрайта Hat добавим скрипт, согласно которому спрайты исчезают при отрицательном значении переменной либо при значении переменной больше 49. Этот скрипт нужно продублировать для всех спрайтов. Задание Создайте второй уровень игры: при достижении 50 очков спрайты-фрукты начинают падать быстрее. Наша игра готова! Ваш четвертый самостоятельный проект Создайте свою собственную игру. Игра может быть на свободную тему, а может быть ремейком известных компьютерных игр. Важно, чтобы игра представляла собой законченный продукт: должно быть начало игры, сама игра и завершение игры. Подобное задание предлагалось на Scratch-Олимпиаде учащимся 7–8 классов. 81
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 6. Создание образовательного проекта По своей сути образовательный проект — это смесь всего того, что мы уже умеем делать: мультика, викторины и так далее. Поэтому здесь мы создадим лишь основу, а после доработаем программу по своему усмотрению. Итак, откроем Scratch. Пусть главным героем на этот раз будет Мурзик (Спрайт 1). Мурзик приветствует пользователя и спрашивает, будем ли готовиться к экзамену по математике. Если пользователь ответит «да», продолжаем. Мурзик предлагает пользователю повторить тему «Графики функций». Он будет рассказывать некоторые факты о линейной функции. Потом Мурзик дает пользователю задание и проверяет ответ. Далее Мурзик рассказывает пользователю о квадратичной функции. После опять задает вопрос и проверяет ответ.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Ваш пятый самостоятельный проект Задания 1. Добавьте, что вы еще знаете о приведенных функциях. 2. Добавьте другие известные вам функции (константа, обратная пропорциональность и др.). 3. Сделайте проект более красочным: добавьте фон, движения Мурзика и так далее. 4. Создайте переменную, отвечающую за количество ответов, данных пользователем. В конце сообщите пользователю, сколько правильных ответов он дал. Оцените работу пользователя. Ваш пятый самостоятельный проект Создайте образовательный проект на одну из тем, изучаемых в рамках учебных предметов «Физика», «Математика», «Информатика», «География», «Химия», «Астрономия», «История». Образовательный проект должен активизировать познавательную деятельность учащихся, способствовать усвоению содержания обучения, закреплению знаний по учебным предметам. Проект может быть представлен в виде интерактивной модели, тренажера и др. Подобное задание предлагалось учащимся 9–11 классов на Scratch-Олимпиаде. 83
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Приложение Требования к проектам на Scratch-Олимпиаде в 2017 (2018) году 1. «Юный Scratch-разработчик» («Наш мир») К участию в номинации принимаются индивидуальные работы учащихся 1–2 классов. Работа представляет собой творческий проект, выполненный в среде программирования Scratch, в форме анимированной истории на свободную тему. Это может быть история по мотивам сказки, игры, мультфильма или рассказ на тему «Как я ходил в зоопарк». Количество задействованных спрайтов, количество скриптов, тема и алгоритм определяются участником. 2. «Мир Мульти» («Мы в гостях у писателя и поэта») К участию в номинации принимаются индивидуальные работы учащихся 3–4 классов. Работа представляет собой творческий проект, выполненный в среде программирования Scratch, в форме анимации (желательно, озвученной) одного из произведений (стихотворение, рассказ, басня и др.), изучаемых в рамках учебных предметов «Русский язык», «Русская литература», «Английский язык», либо из дополнительной литературы на выбор участника. Приветствуется выполнение фрагментов программы разными спрайтами. 3. «Викторина» («Знайки») К участию в номинации принимаются индивидуальные работы учащихся 5–6 классов. Работа представляет собой творческий проект, выполненный в среде программирования Scratch, в форме компьютерной игры-викторины. Вопросы викторины должны быть на одну из тем, изучаемых в рамках учебных предметов
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Критерии оценивания проектов «Математика», «История», «География», «Биология», «Литература». Игра-викторина должна быть построена в виде диалога программы и пользователя. Должен вестись подсчет правильных/неправильных ответов. 4. «Компьютерная игра» («Разработчики игры») К участию в номинации принимаются индивидуальные работы учащихся 7–8 классов. Работа представляет собой компьютерную игру, выполненную в среде программирования Scratch. Игра может быть как линейной, так и нелинейной; может быть на свободную тему, а может быть репликой известных компьютерных игр. Важно, чтобы игра представляла собой законченный продукт: должно быть четкое начало игры, сама игра и четкое завершение игры. 5. «Образовательный проект на языке Scratch» («STREAM-проект») К участию в номинации принимаются индивидуальные работы учащихся 9–11 классов. Работа представляет собой проект, выполненный в среде программирования Scratch, на одну из тем, изучаемых в рамках учебных предметов «Физика», «Математика», «Информатика», «География», «Химия», «Астрономия», «История». Образовательный проект должен активизировать познавательную деятельность учащихся, способствовать усвоению содержания обучения, закреплению знаний по учебным предметам. Проект может быть представлен в виде интерактивной модели, тренажера и др. Критерии оценивания проектов При подведении итогов жюри учитывает следующие критерии: 1. Соответствие конкурсной работы заявленной номинации (0–2 балла). 85
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» 86 Приложение 2. Оригинальность идеи и содержания проекта (0–5 баллов). 3. Творческий подход (0–5 баллов). 4. Сложность проекта (0–5 баллов). 5. Качество исполнения: понятность интерфейса, дизайн, удобство структуры и навигации (0–8 баллов). 6. Качество алгоритма (0–10 баллов). 7. Отсутствие ошибок в программе (0–5 баллов). Максимально возможное количество баллов — 40.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Оглавление К читателю . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. Загрузка и установка Scratch 2.0 Offline Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Изучаем интерфейс программы . . . . . . . . . . . . . . . . 3. Делаем мультик в Scratch 2.0 . . . . . . . . . . . . . . . . . Принцесса и рыцарь . . . . . . . . . . . . . . . . . . . . . . . . . . . Ваш первый самостоятельный проект . . . . . . . . . . . . Оранжевый и зеленый . . . . . . . . . . . . . . . . . . . . . . . . . Ваш второй самостоятельный проект . . . . . . . . . . . . 4. Создание викторины . . . . . . . . . . . . . . . . . . . . . . . . . . . Диалог программы и пользователя . . . . . . . . . . . . . . Способы создания викторины . . . . . . . . . . . . . . . . . . . Способ 1. Самый простой . . . . . . . . . . . . . . . . . . . . . Способ 2. С помощью переменных . . . . . . . . . . . . . Способ 3. Списки . . . . . . . . . . . . . . . . . . . . . . . . . . . Способ 4. Подпрограммы . . . . . . . . . . . . . . . . . . . . . Ваш третий самостоятельный проект . . . . . . . . . . . . 5. Создаем игры в Scratch 2.0 . . . . . . . . . . . . . . . . . . . . Динозаврик и сладости . . . . . . . . . . . . . . . . . . . . . . . . Лабиринт . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ловим фрукты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ваш четвертый самостоятельный проект . . . . . . . . . 6. Создание образовательного проекта . . . . . . . . . . . . Ваш пятый самостоятельный проект . . . . . . . . . . . . . Приложение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Требования к проектам на Scratch-Олимпиаде в 2017 (2018) году . . . . . . . . . . . . . . . . . . . . . . . . . . . . Критерии оценивания проектов . . . . . . . . . . . . . . . . . 3 5 7 13 13 23 24 37 38 38 46 46 55 58 61 67 68 68 73 77 81 82 83 84 84 85
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Минимальные системные требования определяются соответствующими требованиями программ Adobe Reader версии не ниже 11-й либо Adobe Digital Editions версии не ниже 4.5 для платформ Windows, Mac OS, Android и iOS; экран 10" Электронное издание для дополнительного образования Серия: «Школа юного программиста» Путина Анастасия Сергеевна SCRATCH 2.0: ОТ НОВИЧКА К ПРОДВИНУТОМУ ПОЛЬЗОВАТЕЛЮ ПОСОБИЕ ДЛЯ ПОДГОТОВКИ К SCRATCH-ОЛИМПИАДЕ Для детей среднего и старшего школьного возраста Ведущий редактор Т. Г. Хохлова Ведущие методисты А. А. Салахова, Н. Н. Самылкина Художники В. А. Прокудин, Я. В. Соловцова Технический редактор Т. Ю. Федорова Корректор И. Н. Панкова Компьютерная верстка: Е. Г. Ивлева Тестирование программ: Дима Хохлов, лицей № 1533, г. Москва Подписано к использованию 10.09.18. Формат 155×225 мм Издательство «Лаборатория знаний» 125167, Москва, проезд Аэропорта, д. 3 Телефон: (499) 157-5272 e-mail: info@pilotLZ.ru, http://www.pilotLZ.ru
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис» Автор книги, Путина Анастасия Сергеевна, является членом профессионально-компетентного жюри заочной Международной Scratch-Олимпиады 2018 года. Программирование – это грамотность XXI века! фантазируй Книги новой серии «Школа юного программиста» издательства «Лаборатория знаний» построены на методике пошагового обучения программированию. Следуя этой методике, любой желающий, от школьника до студента вуза, сможет научиться писать программы, разрабатывать мобильные приложения и компьютерные игры и даже освоить технологии машинного обучения и нейросетей. программируй В серию войдут следующие учебные пособия: побеждай • «Учимся вместе со Scratch: программирование, игры, робототехника» (5–6 классы) ВСЕГДА • «Scratch 2.0: от новичка к продвинутому пользователю. Пособие для подготовки к Scratch-Олимпиаде» (1–11 классы) • «Творческие задания в среде Scratch. Рабочая тетрадь для 5–6 классов» • «Scratch 2.0: творческие работы на вырост. Рабочая тетрадь для 7–8 классов» • «Создаем игры с Kodu Game Lab» (4–5 классы) • «Python для начинающих – от основ до ООП и приложений» (7 класс) • «Олимпиадное программирование на Python» (7–8 классы) • «C# – новый учебный курс программирования от основ до продвинутого уровня» (8–9 классы) • «Android-разработка: мобильные приложения» (8–9 классы) • «Web-разработка: создай свой идеальный сайт. Обучаемся тонкостям HTML, HTML5, CSS3, SQL, PHP, JavaScript» (8–10 классы) • «Основы искусственного интеллекта и нейросетей» (10–11 классы, студенты) и другие.