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