ГЛАВА 8. БИТВА ЗА ДЕНЬ РОЖДЕНИЯ КОТА.
У Кота сегодня день рождения! Ему прислали подарок, а получить он его не может. Дорогу преградили злые Тётки с вениками. Они хотят выгнать кота из подъезда. Что же делать? На помощь придет секретное оружие — пистолет, стреляющий вантузами! Вперёд, Котик, подарок на четвёртом уровне, но будь осторожен, у тебя всего пять жизней!
Сначала нарисуйте фон.
Выберите закладку фоны.
Залейте весь фон оранжевым цветом.
Потом нарисуйте три узких коричневых прямоугольника — это будут этажи.
Старайтесь разделить этажами сцену ровно на три равные части. Нижний прямоугольник нарисуйте совсем тоненьким. Должно получиться примерно, как на картинке.
Теперь надо нарисовать две лестницы между этажами. Нарисуем их не на сцене, а виде отдельных спрайтов.
Выберите инструмент Линия.
Рисуя лестницу, постоянно удерживайте нажатой клавишу Shift на клавиатуре. Это позволит нарисовать очень ровную лестницу, так как при нажатии этой клавиши все линии получаются только вертикальными или горизонтальными.
Обязательно задайте точку привязки в центре лестницы.
Переименуйте лестницу в Лестницу1.
Нажмите на Лестницу1 правой кнопкой мышки и выберите «дублировать».
Теперь у нас есть две одинаковые лестницы. Кот сможет лазить по этажам!
Разместите лестницы так, как показано на картинке. Лестница1 ведёт на второй этаж, Лестница2 ведёт на третий этаж.
Теперь надо нарисовать три двери. Первая дверь нужна для перехода с первого уровня на второй, вторая ведёт на третий уровень, а через третью можно попасть на четвёртый уровень. Нажмите «Нарисовать новый спрайт».
Нарисуйте зелёный прямоугольник.
Чёрными линиями нарисуйте петли и ручку. Для того, чтобы рисовать точнее, увеличьте масштаб.
Выберите инструмент Линия.
Рисуйте линии удерживая клавишу Shift.
Переименуйте дверь в Дверь1.
Двери в нашей игре будут немного повреждаться при попадании Вантуза. Всего у каждой двери будет пять костюмов. Каждый следующий с большим количеством повреждений, чем предыдущий. Давайте сделаем костюм2. Нажмите правой кнопкой на костюм1, и выберите «дублировать».
Костюм2 ничем не отличается от костюма1.
Давайте добавим ему одно повреждение. Выберите Кисть чёрного цвета и нарисуйте черное пятно.
Теперь дублируйте костюм2, и подрисуйте ещё одно повреждение.
Дублируйте костюм3 и нарисуйте ещё какое-нибудь пятно.
Подобным образом создайте костюм5, он должен быть самым страшным.
Программу для Двери1 сделаем потом, когда добавим все необходимые спрайты. А сейчас надо добавить вражеских персонажей — вредных Тёть. За образец возьмём спрайт из библиотеки «Woman Waving» - «Тётя с завивкой на голове».
Нам будет нужно добавить ей в руку веник, и сделать три костюма для анимации. Нажмите на кнопку «Выбрать спрайт из библиотеки».
Выберите фильтр «Люди».
Добавьте нашу красавицу и нажмите внизу Ок.
Сразу переименуйте её в Тётю1.
Откройте редактор изображений.
Сразу переименуйте костюм Тёти.
Обратите внимание, наша красавица нарисована в векторном формате, линии гладкие, отдельных пикселей (точек) не видно. Когда мы загружаем векторное изображение в Scratch, то редактор изображений автоматически переходит в векторный режим. Посмотрите в правый нижний угол редактора (нажимать туда не надо, векторный режим уже активен).
Сначала подготовим три костюма Тёти. На первом рука поднята вверх, на втором немного опущена, на третьем опущена ещё сильнее. Веник подрисуем потом. Дублируйте первый костюм Тёти.
Увеличьте масштаб.
Выберите инструмент «Изменение формы».
Кликните на черную обводку поднятой руки.
Появились опорные точки. Теперь нажмите на клавиатуре Ctrl-C. Кажется, ничего не произошло, но, на самом деле, выделенная рука скопировалась в память компьютера. Теперь нажмите Ctrl-V, вот и она, двигается в след за мышкой. Кликните на свободное место.
Рука скопирована. Теперь надо немного повернуть её. Нажмите на точку вращения и поверните копию руки.
Должно получиться вот так.
Теперь надо заменить руку. Снова выделите руку Тёти инструментом «Изменение формы».
Нажмите на клавиатуре кнопку Delete. Черная обводка руки будет удалена.
Перемещаем новую руку на место удалённой. Нажмите на инструмент Выбора.
Теперь нажмите на руку и тащите её на место.
Получилось немного не ровно. Сейчас поправим. Нажмите «Изменение формы».
Нажмите на опорную точку и тащите её к плечу. Потом соседнюю.
Обводка немного толстовата. Переместите ещё одну точку.
Вот теперь нормально.
Следующая задача — переместить заливку внутрь контура. Выбранным инструментом кликните на заливку.
Начинаем сложную операцию. Опорные точки поочерёдно нужно переместить в места изгибов чёрной обводки. Начинаем снизу. Очень важно передвигать точки поочередно. Если собьётесь, всегда можете нажать на стрелку «Отмена последнего действия».
Смотрите на рисунки и повторяйте.
Получилось немного не ровно. Увеличьте масштаб.
Передвиньте опорные точки ровнее.
Вот теперь получилось отлично!
Дублируйте Костюм 2.
Повторите всё то, что мы делали с Костюмом2, чтобы получилась такая Тётя.
Сейчас готовы все три костюма Тёти, и каждому из них можно вручить самое страшное оружие против котов — веник! Чтобы нарисовать веник, нажмите кнопку «Линия».
Выберите желтый цвет, немного увеличьте толщину линии и нарисуйте ручку веника.
Затем выберите инструмент «Эллипс».
Нарисуйте жёлтый овал.
Возьмите его за точку вращения, и поверните.
Потом нажмите на овал и передвиньте к ручке веника.
Теперь выберите инструмент «Изменение формы».
Кликните на овал — он станет обведён кружочками — опорными точками. Передвигая опорные точки можно изменять овал.
Кликните на самую верхнюю точку и потяните её с центру овала — форма овала изменится.
Передвиньте следующую точку в центр овала.
Передвиньте третью точку.
Мы как будто обрезали половину овала! Подрисуйте венику ещё несколько линий для красоты.
Первый костюм готов.
Похожим (аналогичным) способом нарисуйте страшное оружие двум оставшимся костюмам. Костюм2 должен выглядеть так.
А Костюм3 вот так.
У нас получились три костюма Тёти1. Если их быстро переключать, то будет похоже что она опустила руку с веником.
Чтобы анимация была реалистичней, добавим подъём руки с веником. Для этого сначала дублируйте костюм под номером 3.
Потом дублируйте костюм под номером 2.
Потом дублируйте костюм под номером 1.
Теперь у нас появились ещё три костюма Тёти1 в которых она поднимает веник. Теперь анимация будет очень реалистичной.
После того, как мы вооружили веником Тётю, настала пора дать секретное оружие Коту. Это оружие ни разу не применялось ни в каких боевых действиях. Кот применит его впервые. Оружие называется Вантуз! В переводе с английского «One Tooz» означает «один туз», это козырное оружие!
Стрелять Вантузом Кот будет из специального Пистолета. Сначала нарисуем Пистолет.
Увеличьте масштаб.
Выберите инструмент Линия.
Увеличьте толщину линии — передвиньте движок правее.
Нарисуйте простейший пистолет.
Теперь очень важное дело — правильно установить точку привязки.
Точка должна быть установлена выше Пистолета, тогда он будет как раз в лапах у Кота. Если установить точку привязки в центр Пистолета, то он окажется у Кота на шее, и стрелять будет неудобно.
Теперь приступаем к созданию секретного Вантуза.
Увеличьте масштаб.
Вантуз будем рисовать в векторном редакторе, так он получится красивее. Справа внизу нажмите кнопку «Конвертировать в векторную графику».
Выберите инструмент «Прямоугольник».
Нарисуйте тонкий прямоугольник — ручку Вантуза.
Выберите инструмент «Окрасить форму».
Окрасьте прямоугольник.
Теперь самое интересное. Вантуз имеет сложную форму, поэтому сначала нарисуем просто овал, а потом, с помощью опорных точек, придадим ему необходимую форму. Увеличьте масштаб.
Выберите инструмент «Эллипс».
Нарисуйте овал.
Выберите инструмент «Изменение формы».
Кликните на овал.
По очереди перемещайте опорные точки, чтобы придать Вантузу его форму. Переместите первые две точки.
Переместите следующие две точки.
Обратите внимание, если кликнуть в линию между двух точек, то в этом месте появляется новая опорная точка, которую можно двигать. Добавьте две новых опорных точки.
Переместите следующие две точки.
Добавьте ещё три новых опорных точки, и переместите четвёртую как показано на рисунке.
Форма готова! Выберите инструмент «Окрасить форму».
Нарисуем ещё несколько линий для придания Вантузу объёма. Возьмите «Карандаш».
Секретное оружие готово! Осталось только указать правильную точку привязки. Уменьшите масштаб.
Сделайте второй костюм Вантуза, повёрнутый налево. Дублируйте первый костюм.
Нажмите кнопку «Отразить слева направо», Вантуз развернётся.
Переустановите точку привязки над концом ручки Вантуза.
Второй костюм готов.
Переименуйте спрайт в Вантуз.
Сейчас добавим самое главное, то, ради чего Кот преодолеет все преграды — Подарок.
Выберите фильтр «Предметы».
Выберите подарок.
Переименуйте новый спрайт.
Почти всё готово для начала написания программы. Осталось сделать костюмы для главного героя, для Кота. В процессе игры он не раз получит веником по голове. Надо сделать ему «побитые» костюмы. Изменим ему глазки, носик и рот, Кот будет выглядеть побитым. Сильно за него не переживайте, как только Кот дойдёт до Подарка, всё здоровье восстановится, и он снова улыбнётся жизни. Всего у Кота будет шесть костюмов.
Выберите Кота и откройте графический редактор. Удалите второй костюм.
Дублируйте первый костюм.
Выберите второй костюм. Увеличьте масштаб.
Какой красавец!
Кликните инструмент «Изменение формы».
Кликните глаз, и, перемещая опорные точки, уменьшите его.
Второй костюм готов. Дублируйте его. У третьего костюма измените второй глаз.
Третий костюм готов. Дублируйте его. У четвёртого костюма измените рот.
Четвёртый костюм готов. Дублируйте его. У пятого костюма измените нос.
Пятый костюм готов. Дублируйте его. У шестого костюма снова измените рот.
Бедный Котик! Ну и досталось же ему… Я сейчас заплачу…
Скорее, выберите первый костюм Кота, пусть он пока улыбается. Встреча с вредными Тётями ещё не скоро.
Вот теперь, мы полностью готовы к программированию игры. Для Сцены и для лестниц программа не нужна. Разместите лестницы так, как показано на рисунке.
Теперь создадим три глобальных переменных «Жизни», «выстрел», «направо».
Получились три переменных.
Переменная «Жизни» будет видна на экране, она покажет, сколько жизней осталось у Кота. Переменная «выстрел» будет принимать значение 0 или 1, если Кот выстрелит, то переменная принимает значение 1 и Вантуз полетит. Если «выстрел» = 0, то Вантуз переходит в Пистолет. Переменная «направо» тоже будет принимать только два значения 0 и 1. Она отвечает за направление полёта Вантуза, направо или налево. Такие переменные, как «выстрел» и «направо», которые принимают значение только 0 или 1, называют логическими переменными. У этих переменных очень простая логика: 1 — это «да», 0 — это «нет». Например, если переменная «направо» = 1, то есть «да», значит «да, летим направо». А если «направо» = 0, то есть «нет», «направо не летим, а летим налево».
Начинаем программировать. Сначала сделайте программу Коту. В ней будет шесть скриптов. Первый скрипт. Он задаёт начальные значения, и, потом, всегда следит за значением переменной «Жизни». Если «Жизни» = 0, то конец игры.
Второй скрипт. Он изменяет костюмы Кота. Чем меньше осталось у Кота Жизней, тем страшнее он выглядит.
Ещё два скрипта. Они отвечают за перемещение Котика вправо и влево.
Следующий скрипт отвечает за лазание по лесенкам вниз. Первое условие, чтобы лазить по первой лесенке, второе — для второй.
Последний скрипт, чтобы лазить по лесенкам вверх.
Теперь сделаем программу для Пистолета. В ней всего три скрипта. Первый скрипт позволяет Коту взять оружие. Если Кот коснётся Пистолета, то Пистолет всегда будет в лапах у Кота.
Следующие два скрипта поворачивают Пистолет налево и направо, заодно изменяют значение логической переменной «направо».
Сейчас запрограммируем Вантуз. Всего у него будет три скрипта. Первый скрипт задаёт начальные значения переменных, и всегда перемещает Вантуз в Пистолет - заряжает Пистолет. А если переменная выстрел равна единице, то Вантуз пролетит 16 раз по 30 точек, а это 480 точек, как раз ширина экрана.
Направление полёта влево или вправо зависит от значения переменной «направо».
Следующий скрипт отвечает за поворот Вантуза в зависимости от значения переменной «направо».
Третий скрипт позволяет производить выстрел с помощью пробела.
Для Подарка необходимо сделать два скрипта. Первый скрипт будет возвращать Котику Жизни и поздравлять его с днём рождения.
Второй скрипт будет показывать Подарок только на четвёртом уровне.
Сейчас у нас только один спрайт с дверью. Это дверь для перехода с первого уровня на второй. Нам нужно ещё две двери, для перехода со второго уровня на третий, и для перехода с третьего уровня на четвёртый. Так как программы всех дверей очень похожи, то сначала сделаем программу для первой двери, и потом два раза её продублируем.
У первой двери будет два скрипта. Первый скрипт передаёт событие «переход на 2 уровень», и меняет костюмы двери при попадании Вантуза.
Второй скрипт прячет дверь при переходе на второй уровень.
Программа Двери1 готова. Нажмите на неё правой кнопкой и выберите «дублировать».
Появится Дверь2 — точная копия Двери1 с такой же программой. Внесите в программу Двери2 небольшие изменения.
Всего у Двери2 будет три скрипта. Первый скрипт такой.
А это второй и третий. Понятно, что на втором уровне дверь появится, а на третьем снова пропадёт.
Теперь дублируйте Дверь2, и сделайте Двери3 три скрипта. Вот первый.
Вот второй и третий.
Почти всё готово. Осталось только запрограммировать Тётю1 на ненависть к Коту, и два раза дублировать её. Первый скрипт Тёти1 из-за которого она постоянно бегает влево и вправо по первому этажу.
Второй скрипт Тёти1. В этом скрипте запрограммировано уменьшение Жизней Котика при встрече с вредной Тётей.
А в следующем скрипте запрограммировано исчезновение Тёти от встречи с секретным оружием. Исчезает она не сразу, сначала сильно уменьшается в размере.
Следующие три скрипта позволяют вредной Тёте оживать на каждом последующем уровне, и с новой силой охотиться за Котом.
Всего получилось шесть скриптов Тёти1. Нажмите на неё правой кнопкой мышки и продублируйте её.
Появится спрайт Тётя2 с такой же программой как у Тёти1. Измените скрипты Тёти2. Первый скрипт должен стать таким. Изменить надо только координаты в блоке «перейти» и количество повторений в цикле.
Второй и третий скрипты ничем не отличаются. Вот второй.
Вот третий.
Следующие три скрипта отличаются.
Снова дублируйте Тётю1. Появится Тётя3, вот её первый скрипт. Изменить надо только координаты в блоке «перейти».
Второй и третий скрипты опять без изменений. Вот второй.
Вот третий.
Вот и последние три скрипта Тёти3.
Программа готова.
Вопросы по игре «Битва за день рождения Кота».
1. Как увеличить скорость полёта Вантуза?
2. Как увеличить количество жизней у Кота?
3. Какой баг появится, если мы упростим скрипты лазания Кота по лесенкам, удалив условие высоты? Сначала попробуйте догадаться без экспериментов, а потом, для самопроверки, измените программу Кота и посмотрите, что будет. Для проверки Вашего ответа измените скрипт для стрелки вниз как показано на этом рисунке.
А вот так измените скрипт для стрелки вверх.
Задания по доработке игры «Битва за день рождения Кота».
1. Сделайте так, чтобы при выстреле из пистолета вылетало немного порохового дыма.
2. Добавьте к игре ещё один уровень.
3. Добавьте несколько спрайтов с лекарством для Кота. Если Кот коснётся лекарственного спрайта, то его здоровье увеличится на 1.