ГЛАВА 3. СОБИРАЕМ ЯБЛОЧКИ.
Сделаем игру про двух котов. В неё можно будет играть вдвоём. На поле высыпаются 20 яблочек. Размер поля больше экрана, поэтому видны не все яблоки. Сначала, в течение 20 секунд яблоки собирает первый игрок, он старается собрать как можно больше, потом, яблоки рассыпаются снова, и к сбору урожая приступает второй кот. Кто больше соберёт, тот скажет: «Я выиграл!». В процессе игры Коты стоят неподвижно, а экран с яблоками и цветочками под ним прокручивается по вертикали и по горизонтали. Этот эффект называется вертикальный и горизонтальный скроллинг.
Сперва нарисуем фон и все спрайты. Фон просто зальём зелёным цветом с небольшим градиентом. Потом раскрасим и запрограммируем первого кота — Ваську. Потом сделаем второго кота — Рыжика, его раскрашивать не надо — он и так рыжий! После этого нарисуем и запрограммируем яблоко. Да-да, у нас будет только одно яблоко, а то, что вы видите на экране — это его клоны, о них потом поговорим подробнее. Когда яблоко будет готово, из него с помощью дублирования сделаем цветочки. Они будут расти на поле для красоты. С ними движение котов будет выглядеть реалистичней.
Начинаем с зелёного фона. Залейте фон зелёным цветом с небольшим градиентом.
Сцене сделайте маленькую программу по обнулению переменных. Создайте две переменные «очки 1» и «очки 2». Эти переменные будут считать количество собранных яблок.
Получились две переменные.
Сделайте для сцены такую программу.
Теперь приступаем к программированию поведения кота Васьки. Переименуйте Sprite1 в Ваську.
Сделайте ему простенькую программу из двух скриптов. Первый скрипт.
Не забудьте создать новое сообщение.
Назовите новое сообщение «рассыпать яблоки».
Создав первое событие, прикрепите к скрипту блок «передать «рассыпать яблоки». Второе событие создавайте только после того, как прикрепите первое событие с скрипту.
Когда первый скрипт будет готов, сделайте второй. Он будет работать в конце игры, при получении сообщения «очки». Если Васька наберёт больше яблок, чем Рыжик, то переменная «очки 1» будет больше переменной «очки 2», и Васька на весь двор объявит: «Я выиграл!». После этого работа программы будет остановлена блоком «стоп всё».
Первый котик готов. Дублируйте его и назовите Рыжиком.
Сейчас программа Рыжика такая же, как и у Васьки. Надо немного её изменить. Сначала удалите первый скрипт.
Вместо него создайте два маленьких скриптика. Первый скриптик скрывает Рыжика в начале игры, так как сначала очередь Васьки. Через двадцать секунд, когда миссия Васьки будет завершена, Рыжик получит сообщение «Очередь Рыжика» и приступит к сбору урожая. Ему тоже отведено двадцать секунд. После этого он передаёт сообщение «очки» и происходит подсчёт очков. Котик, который собрал больше яблок, скажет победные слова.
Третий скрипт Рыжика очень похож на такой же скрипт Васьки, только переменные надо переставить местами, и выкинуть блок «показать», ведь при подсчёте очков Рыжик и так виден.
Он только недавно закончил собирать яблоки, и ещё не успел никуда удрать.
Коты к соревнованию готовы. Осталось сделать яблочко и цветочек. Начнём с яблока, потом его дублируем, и переделаем в цветочек. Программы-то у них почти одинаковые. Добавьте из библиотеки спрайтов яблоко.
Дважды кликните по яблоку.
Переименуйте Apple в Яблоко.
Программа у яблока очень сложная. В ней шесть скриптов, и ни один из них не начинается с блока с зелёным флагом. Сначала нам необходимо создать две локальные переменные «Х яблока», и «Y яблока».
Эти переменные будут видны только самому яблоку и его клонам. Коты и цветочек не будут знать о существовании этих переменных, и никак не смогут их изменить.
Чтобы создать локальную переменную, надо поставить точку «Только для этого спрайта».
Создайте вторую переменную.
Локальные переменные готовы. Можете зайти в любого кота, и убедиться, что у него эти переменные не отображаются. Их видит только Яблоко. Глобальные переменные «очки 1» и «очки 2» видны всем спрайтам.