Переменные. Мини -проект «Поймай мяч»
Переменные
1. Понятия.
Переменная – ячейка памяти, имеющая имя и значение.
Переменную можно представить, как некий мешок/ящик/коробку, в который можно складывать различные значения, хранить их, изменять (добавлять или забирать), а также узнавать количество содержимого в нем. В программировании для обращения к переменной используется её имя. При создании новой переменной необходимо задать её имя и начальное значение. В Scratch для переменных начальное значение задается по умолчанию равным 0. Для задания нового значения для переменной и для изменения имеющегося используются специальные команды.
2. Команды, рассматриваемые в ходе изучения темы:
Группа Команда (оператор)
ПЕРЕМЕННЫЕ Задать значение
ПЕРЕМЕННЫЕ Изменить на
ПЕРЕМЕННЫЕ Показать переменную
ПЕРЕМЕННЫЕ Скрыть переменную
3. Проект «Сможет ли призрак сыграть в мяч?».
Сценарный план:
1. Кто? Что? Призрак (Ghost) и мяч (Basketball) из библиотеки спрайтов.
2. Где? Стадион (Playing Field) из библиотеки фонов.
3. Как? Мяч летает по сцене в случайные положения, призрак управляется стрелками на клавиатуре.
Рисунок 1. Пример сцены для проекта "Сможет ли призрак сыграть в мяч?"
В игру необходимо добавить 2 спрайта из библиотеки: любой мяч и призрака. Обратите внимание на костюмы, которые есть у призрака. Для этого персонажа создадим скрипт, отвечающий за управление стрелками мыши (такой скрипт уже создавался ранее для управления акулой в игре «Берегись голодной акулы!»), дополнив его сменой костюмов.
Для мяча настроим постоянное движение к случайному положению:
Затем надо перейти в группу команд ПЕРЕМЕННЫЕ и посмотрите, что одна переменная уже имеется в программе по умолчанию и называется «моя переменная», обратите внимание на то, как создать новую переменную, если их потребуется больше одной. Важно уделить внимание галочке радом с названием переменной:
Проверьте, что она делает (показывает или скрывает отображение переменной на сцене). А также надо поместить в область спрайтов команды «Показать переменную» и «Скрыть переменную» и выяснить их предназначение (также показывают и скрывают отображение переменной на сцене, при этом и галочка рядом с переменной пропадает либо появляется). Выясните также о командах «Задать значение» и «Изменить на», в том числе об их отличии (первая заменяет старое значение переменной на новое, указанное в команде, вторая увеличивает либо уменьшает (если перед числом стоит знак минус) значение на число, указанное в команде). Итак, введем в игру переменную «моя переменная», которая будет считать количество касаний призрака мячом, то есть добавим в скрипт мяча проверку условия, при выполнении которого значение переменной будет увеличиваться на 1:
Заметьте, что если запустить игру повторно, то значение переменной в начале игры будет таким, каким осталось при предыдущем запуске. Чтобы это исправить необходимо добавить в начало скрипта команду «Задать значение 0». Также, чтобы игра не была бесконечной, установим проверку условия, при выполнении которого игра будет останавливаться. Например, условием может быть равенство значения переменной числу 10. Для составления данного условия используем оператор «равно». В левое окошко оператора можно перетащить нашу переменную, ведь именно она хранит значение, которое мы сравним с числом 10. Получим следующий скрипт:
Готово. Игру можно дополнять. Например, добавить еще другие мячи, чтобы по площадке летали несколько и все их можно было бы собирать. При этом можно подсчитывать с помощью переменной общее количество касаний с мячами, а можно создать несколько переменных, которые будут подсчитывать отдельно касания с разыми. Можно дополнить игру еще одним призраком, который будет управляться вторым игроком, и устроить соревнование, кто быстрее поймает 10 мячей. Реализуем такой вариант дополнения. Дублируем спрайт призрака (Ghost) нажатием на него правой кнопки мыши и выбором соответствующей функции.
Для нового спрайта Ghost2 измените немного костюмы, чтобы отличать персонажей во время игры. Для этого нужно открыть первый костюм, кликнуть по правой верхней области рисунка, нажать «разгруппировать», снова кликнуть по однотонной правой верхней области призрака и изменить её цвет. (Чтобы потом выбрать точно такой цвет для других костюмов, запомните значения параметров «цвет», «насыщенность» и «яркость», которые у вас получились при настройке.)
Проделайте все тоже самое с остальными костюмами.
Далее измените программу для управления вторым спрайтом (Ghost2). Измените клавиши, с помощью которых второй игрок будет играть (например, вверх – W, вниз – S, вправо – D, влево – A):
Теперь добавим в программу новую переменную, которая будет подсчитывать касания мяча вторым призраком, а также переименую первую для удобства, кликнув по ней правой кнопкой мыши.
Разделим скрипт спрайта мяча и дублируем первое условие нажатием правой кнопки мыши. В получившейся копии изменим в условие призрака и переменную, значение которой изменяем. А также добавим в начало скрипта еще команду, задающую переменной «игрок 2» значение 0 при старте игры.
Осталось настроить условие завершения игры. Сделаем так, чтобы если первый игрок набрал 10 очков, то его призрак скажет: «Победа!», и аналогично для победы второго. Для этого соответствующие условие необходимо добавить для спрайтов призраков. У нас уже есть такое условие для спрайта мяча и мы можем копировать его к другим спрайтам. Нужно схватить блок условия, навести на другой спрайт и отпустить мышь. в программе этого спрайта появиться копия этого условия.
Так необходимо сделать для обоих спрайтов призраков, а из программы мяча это условие удалить, перенеся в левую область команд/блоков. В программах призраков перенесем полученные условия в начало блока «Повторять всегда» и изменим их. Добавим внутрь условия команду «Говорить … секунд» перед остановкой игры. Также для спрайта Ghost2 не забудьте изменить переменную на «игрок 2».
Готово! Можно устраивать соревнования.
Домашнее задание: Сделать проект по собственному замыслу.