Урок 12. Создаем игры и творческие проекты

Цель: развитие творчества; приобретение и развитие умений коллективной работы.

Элементы интерфейса: меню FILE / ИМПОРТ ПРОЕКТА…

Группы блоков:

операторы: повторять до < >.

Обратите внимание

Сложный проект следует разбить на подзадачи и каждому поручить выполнение какой-либо части. В таком случае было бы хорошо предоставить каждому ребенку, занятому решением своей подзадачи, отдельный компьютер. Такие подпроекты затем «сливаются» в один общий проект. При этом связи между частями проекта должны быть установлены на этапе его планирования. Это так называемые «входные и выходные параметры», описывающие интерфейсы взаимодействия подзадач.

Рассмотрим на более простом примере, как это можно реализовать.

Создать проект «Сажаем сад», в котором Кот сажает дерево или цветок в том месте, где щелкнули мышкой. Через некоторое время дерево должно вырасти. Размер растения должен зависеть от расстояния до наблюдателя: чем ближе к горизонту, тем растение мельче. На небе сажать растения нельзя.

Составим план проекта в виде таблицы объектов и их действий.
Объект Костюмы Действия и взаимодействия объекта
Сцена 1. Занавес.

2. Основной, раскрашенный так, чтобы небо отделялось от земли

 

1. При запуске проекта устанавливает фон «Занавес», который растворяется.

2. Передает сообщение «Начинай!».

3. Получив «Начинай!», устанавливает основной фон.

4. Считывает координаты указателя мышки и присваивает их глобальным переменным (x, y).

 5. Если у_координата принадлежит «земле», то шлет Коту сообщение «Сажай!», иначе — «Не сажай!»

Кот Два костюма для реализации движения 1. При запуске проекта скрыт.

2. При получении сообщения «Сажай!», перемещается в точку (x,y), после чего передает сообщение «Расти!».

3. При получении сообщения «Не сажай!» говорит: «Я не могу посадить дерево на небе!»

Дерево Несколько костюмов для имитации процесса постепенного роста 1. При запуске проекта спрятано.

2. При получении сообщения «Расти» появляется в координатах (x,y) и «прорастает», отавив штамп.

3. После того, как дерево выросло, передаѐт сообщение «Я выросло» и прячется.

Листинг 23. Скрипты Сцены

Листинг 24. Скрипты Сцены с флагом

Тогда Кот, получив сообщение «Иди, Кот!», поворачивается к Лопате и перемещается в точку (x,y) (листинг 25, 26). Обратите внимание, Кот не все время должен двигать ногами, а только тогда, когда перемещается. Для этого использован новый блок повторять до < >, который будет выполнять свое содержимое до тех пор, пока ни случится событие, описанное в заголовке цикла (в угловых скобках). В этом отличие от цикла всегда, если < >.
 

Листинг 25. Скрипты Лопаты

 

Листинг 26. Скрипты Кота

 
Сложности третьего проекта (назовем его «Дерево») связаны с вычислением размера дерева в зависимости от его удаленности от линии горизонта. Это довольно простая формула, которая, однако, в Scratch выглядит несколько громоздко: расстояние от горизонта до дерева делится на расстояние от горизонта до нижней точки экрана и умножается на 100 % (листинг 27). Размер — локальная переменная. В нашем проекте Дерево имеет 8 костюмов, поэтому цикл смены костюма выполняется 7 раз.

Рисунок. Скрипты Дерева

 
Теперь объединим все три проекта в один общий проект.

1. Открыть проект «Сцена».

2. Выбрать пункт меню FILE / ИМПОРТ ПРОЕКТА…

3. В диалоговом окне выбрать проект «Кот».

4. Аналогично выполнить импорт проекта «Дерево».

5. Сохранить проект под новым именем «Сад».

 

Запуск программы показывает корректность работы программы, при условии, что соответствующие сообщения идентичны.

 

При составлении урока использованы материалы: Шапошникова С. - Введение в Scratch. Цикл уроков по программированию для детей. Лаборатория юного линуксоида