Полная версия проекта: https://scratch.mit.edu/projects/303923666
В проекте активно используется механизм передачи сообщений между спрайтами в среде программирования для детей Scratch. Данный проект поможет детям усвоить работу с сообщениями и попрактиковаться в применении циклических конструкций.
Практикум по Scratch
Имитируем работу дорожного светофора
Создайте новый проект и удалите стандартного рыжего кота. Установите фон проекта, на котором есть автомобильная дорога (на свой вкус)
Добавьте новый спрайт, выбрав вариант «Нарисовать». В открывшемся графическом редакторе среды Scratch нарисуйте светофор без разноцветных ламп:
Переименуйте созданный спрайт в «Светофор». Это будет основание нашего светофора, на котором будут располагаться красная, желтая и зеленая лампы.
Добавляем новый спрайт, выбрав вариант «Нарисовать». В открывшемся графическом редакторе среды Scratch нарисуйте красный круг:
Переименуйте созданный спрайт в «Красный свет». Теперь давайте создадим еще два отдельных спрайта для желтого и для зеленого света. Для этого достаточно продублировать спрайт «Красный свет», клацнув правой кнопкой мыши на спрайте «Красный свет» и выбрав пункт в выпадающем меню «дублировать»:
В созданных копиях необходимо просто изменить цвет заливки.
Теперь разместим спрайты ламп на светофоре:
Теперь создадим скрипт, который позволит нам «оживить» наш светофор. Выберите спрайт «Светофор» и откройте вкладку «Код». Добавьте следующий скрипт:
Наш скрипт последовательно передает сообщения, указывая тем самым, какую лампу необходимо включить, а какую — выключить. Получателями наших сообщений являются 3 спрайта, которые мы создали в п.2. Теперь в каждом из этих спрайтов мы создадим по два маленьких блока кода, при помощи которых мы обработаем получение тех или иных сообщений.
Выберите спрайт «Красный свет» и добавьте для него следующий скрипт:
Когда наш спрайт «Красный свет» получает сообщение «Включить красный», он покажется, когда же он получит сообщение «Выключить красный», он спрячется. Аналогично программируем оставшиеся 2 лампы. Для спрайта «Желтый свет» добавим такие 2 блока кода:
Для спрайта «Зеленый свет» добавим такие 2 блока кода:
Добавим 2 новых спрайта, нажав на кнопку «Выбрать спрайт». В библиотеке спрайтов Scratch выберите 2 транспортных средства и переименуйте их, соответственно, в «Авто №1» и «Авто №2». Разместите оба транспортных средства перед светофором, как это показано на рисунке ниже:
Автомобили стоят перед светофором и ждут, пока загорится зеленый свет. Когда он загорится, автомобили поедут. Для того, чтобы реализовать такое поведение добавим для каждого из автомобилей подобный скрипт:
Теперь автомобиль тоже стал получателем сообщений. Когда автомобиль получит сообщение «Включить зеленый», он повернется в нужном направлении и поедет.
Для того, чтобы реализовать максимально реалистичный светофор, необходимо добавить мигание зеленым светом при переключении с зеленого на желтый. Добавьте самостоятельно в проект нужный код, чтобы реализовать такое поведение.