Литература: Шапошникова Светлана Вячеславовна
Лаборатория юного линуксоида - http://younglinux.info
Тема. Cлучайные числа
Пример 1.
Предположим, что нужно в Scratch реализовать такой сценарий. Под водой акула пытается поймать еду, которая постоянно перемещается в новое случайное место. Через некоторое время акуле все-таки удается поймать и съесть пищу.
Итак, акула всегда должна двигаться за едой. Причем через определенный ряд действий это должно прекратиться. Программа для хищника может быть такой:
|
Проследим логику работы этого скрипта.
Сначала акула стоит и думает.
После чего она возвращается к еде и идет к ней до тех пор, пока не коснется ее.
Эти действия повторяются 5 раз.
Обратите внимание, в команду идти ... шагов вставлена команда выдать случайное число от ... до ....
Вторая команда выдает случайное для нас число в указанном диапазоне, то есть любое число от первого числа в команде ко второму включительно. В данном случае эта команда влияет на то, с какой скоростью движется хищник
После того, как акула сделает несколько выше описанных циклов, она передаст в окружающую среду сообщение "поймал".
В результате у нее должна появиться соответствующая ситуации мнение.
Если сейчас запустить программу, то акула подойдет к пище, пять раз подумает "Ммм .." и один раз "Вкусно".
|
Теперь подумаем, что должна делать пища.
|
-
Она всегда должна появляться в неожиданном для акулы месте, если акула касается ее.
-
"Случайное место" определяется двумя командами идти в x ... y ... и выдать случайное число от ... до .... То есть после того, как координаты x и y определяются случайным образом, объект перемещается в заданную точку.
-
Второй скрипт еды очень прост.
Если в "пространстве" появляется сообщение "поймал", то еда должна его получить и скрыться.
-
Теперь программа будет работать так, как надо: еда появляться в случайном месте, а акула в течении некоторого времени пытается проглотить ее .
|
Анимацию можно сделать интереснее, если добавить сцене больший динамизм. Пусть картинка сцены слегка видоизменяется, причем тоже случайным образом.
Создадим вот такой скрипт для Сцены: проект
|
В нем присутствует переменная фон, значение которой определяется случайно, и это значение может быть только числами 1, 2 или 3:
- если фон = 1, то на изображении появляется завихрение случайной силы,
- если фон = 2, то появится эффект «рыбий глаз»,
- во всех других случаях будет меняться цвет фона.
Значение переменной будет обновляться через каждые 5 секунд.
|
Пример 2.
Иногда бывает необходимо, чтобы объект как бы размножался на сцене, то есть оставлял свои копии. В Scratch это можно сделать, используя команду печать, (относится к кнопке перо, где собраны команды, позволяющие рисовать на холсте).
Если объекту дать команду печать, а затем переместить в другое место, то на прежнем останется изображение объекта. Сценарий можно составлять по-разному, например, вот так:
Пример 3. Для любого двузначного числа, полученного случайным образом, сформировать число-перевертыш
проект
|
В данной задаче нам понадобится 4 переменных:
-
для исходного числа - a,
-
для "перевертыша" - перевертыш (p),
-
для первой цифры (единицы) - b,
-
для второй цифры (десятки) - z.
- Первая команда генерирует двузначное число.
- Вторая дает остаток от деления числа на 10, т.е. цифру единиц.
- Третья команда позволяет получить цифру десятков
- Четвертая команда дает само число-перевертыш
|