Предположим, что требуется в Scratch реализовать следующий сценарий. Под водой моллюск пытается поймать пищу, которая от него постоянно отпрыгивает в новое случайное место. Через какое-то время моллюску все-таки удается поймать и съесть еду.
Итак, моллюск всегда должен двигаться за едой. Причем через определенный ряд действий это должно прекратиться. Программа для моллюска может быть такой:
Проследим логику работы этого скрипта. Сначала моллюск стоит и думает. После чего он поворачивается к еде и идет к ней до тех пор, пока не коснется ее. Все эти действия повторяются 5 раз. Обратите внимание, в команду идти … шагов вставлена команда выдать случайное число от … до …. Вторая команда выдает случайное для нас число в указанном диапазоне, т.е. любое число от первого числа в команде до второго включительно. В данном случае эта команда влияет на то, с какой скоростью двигается моллюск. Объясните, почему?
После того, как моллюск совершит несколько вышеописанных циклов, он передаст в окружающую среду сообщение "поймал". В результате у него должна появиться соответствующая ситуации мысль.
Если сейчас запустить программу, то моллюск подойдет к еде, пять раз подумает "Ммм.." и один раз "Вкусно". Составьте скрипт для моллюска.
Теперь подумаем, что должна делать еда.
Она всегда должна оказываться в неожиданном для моллюска месте, если тот касается ее. "Случайное место" определяется двумя командами идти в x: … y: … и выдать случайное число от … до …. Т.е. после того, как координаты x и у определяются случайным образом, объект перемещается в заданную точку.
Второй скрипт еды очень прост. Если в "пространстве" появляется сообщение "поймал", то еда должна его получить и спрятаться.
Теперь программа будет работать так, как надо: еда появляться в случайном месте, а моллюск бегать за ней до определенной поры. Составьте сценарии для второго объекта и оцените, как работает вся программа.
Анимацию можно сделать интересней, если придать сцене больший динамизм. Пусть картинка сцены слегка видоизменяется, причем тоже случайным образом. Рассмотрим вот такой скрипт для Сцены:
В нем присутствует переменная фон, значение которой определяется случайно, и это значение может быть только числами 1, 2 или 3. Если фон = 1, то на картинке появятся завихрения случайной силы, если фон = 2, то появится эффект "рыбий глаз". Во всех остальных случаях будет меняться цвет фона. Значение переменной будет обновляться через каждые 5 секунд. Составьте подобный сценарий для своей программы.
Иногда бывает необходимо, чтобы объект как бы множился на сцене, т.е оставлял свои копии. В Scratch это можно сделать, используя команду печать, относящуюся к кнопке перо, где собраны команды, позволяющие рисовать на холсте. Если объекту дать команду печать, а затем переместить в другое место, то на прежнем останется изображение объекта. Сценарий можно составлять по-разному, например, вот так: