Читаем Программирование на Scratch 2. Часть 2 полностью

Сделаем игру про двух котов. В неё можно будет играть вдвоём. На поле высыпаются 20 яблочек. Размер поля больше экрана, поэтому видны не все яблоки. Сначала, в течение 20 секунд яблоки собирает первый игрок, он старается собрать как можно больше, потом, яблоки рассыпаются снова, и к сбору урожая приступает второй кот. Кто больше соберёт, тот скажет: «Я выиграл!». В процессе игры Коты стоят неподвижно, а экран с яблоками и цветочками под ним прокручивается по вертикали и по горизонтали. Этот эффект называется вертикальный и горизонтальный скроллинг.

Сперва нарисуем фон и все спрайты. Фон просто зальём зелёным цветом с небольшим градиентом. Потом раскрасим и запрограммируем первого кота — Ваську. Потом сделаем второго кота — Рыжика, его раскрашивать не надо — он и так рыжий! После этого нарисуем и запрограммируем яблоко. Да-да, у нас будет только одно яблоко, а то, что вы видите на экране — это его клоны, о них потом поговорим подробнее. Когда яблоко будет готово, из него с помощью дублирования сделаем цветочки. Они будут расти на поле для красоты. С ними движение котов будет выглядеть реалистичней.

Начинаем с зелёного фона. Залейте фон зелёным цветом с небольшим градиентом.

Сцене сделайте маленькую программу по обнулению переменных. Создайте две переменные «очки 1» и «очки 2». Эти переменные будут считать количество собранных яблок.

Получились две переменные.

Сделайте для сцены такую программу.

Теперь приступаем к программированию поведения кота Васьки. Переименуйте Sprite1 в Ваську.

Сделайте ему простенькую программу из двух скриптов. Первый скрипт.

Не забудьте создать новое сообщение.

Назовите новое сообщение «рассыпать яблоки».

Создав первое событие, прикрепите к скрипту блок «передать «рассыпать яблоки». Второе событие создавайте только после того, как прикрепите первое событие с скрипту.

Когда первый скрипт будет готов, сделайте второй. Он будет работать в конце игры, при получении сообщения «очки». Если Васька наберёт больше яблок, чем Рыжик, то переменная «очки 1» будет больше переменной «очки 2», и Васька на весь двор объявит: «Я выиграл!». После этого работа программы будет остановлена блоком «стоп всё».

Первый котик готов. Дублируйте его и назовите Рыжиком.

Сейчас программа Рыжика такая же, как и у Васьки. Надо немного её изменить. Сначала удалите первый скрипт.

Вместо него создайте два маленьких скриптика. Первый скриптик скрывает Рыжика в начале игры, так как сначала очередь Васьки. Через двадцать секунд, когда миссия Васьки будет завершена, Рыжик получит сообщение «Очередь Рыжика» и приступит к сбору урожая. Ему тоже отведено двадцать секунд. После этого он передаёт сообщение «очки» и происходит подсчёт очков. Котик, который собрал больше яблок, скажет победные слова.

Третий скрипт Рыжика очень похож на такой же скрипт Васьки, только переменные надо переставить местами, и выкинуть блок «показать», ведь при подсчёте очков Рыжик и так виден.

Он только недавно закончил собирать яблоки, и ещё не успел никуда удрать.

Коты к соревнованию готовы. Осталось сделать яблочко и цветочек. Начнём с яблока, потом его дублируем, и переделаем в цветочек. Программы-то у них почти одинаковые. Добавьте из библиотеки спрайтов яблоко.

Дважды кликните по яблоку.

Переименуйте Apple в Яблоко.

Программа у яблока очень сложная. В ней шесть скриптов, и ни один из них не начинается с блока с зелёным флагом. Сначала нам необходимо создать две локальные переменные «Х яблока», и «Y яблока».

Эти переменные будут видны только самому яблоку и его клонам. Коты и цветочек не будут знать о существовании этих переменных, и никак не смогут их изменить.

Чтобы создать локальную переменную, надо поставить точку «Только для этого спрайта».

Создайте вторую переменную.

Локальные переменные готовы. Можете зайти в любого кота, и убедиться, что у него эти переменные не отображаются. Их видит только Яблоко. Глобальные переменные «очки 1» и «очки 2» видны всем спрайтам.

Переменные готовы, можно делать программу для Яблока. Создайте первый скрипт, он начинает работать, когда получит сообщение «рассыпать яблоки». Скрипт задаёт случайные координаты Х и Y, перемещает туда яблоко, и создаёт в этом месте его клон. Клон — это точная копия спрайта Яблоко.

Скрипты, управляющие клонами, всегда начинаются с блока «когда я начинаю как клон». Таких скриптов у яблока четыре штуки. Первый из них служит для организации скроллинга. При нажатии на стрелки клоны будут смещаться. Да-да, все клоны будут одновременно выполнять одно и то же действие, этот скрипт управляет сразу всеми клонами Яблока. Если Вы нажмёте стрелку вверх, то все клоны Яблока поедут вниз, Y изменится на минус три. Здесь нет ошибки, стрелка вверх - Y изменится на минус. Благодаря этому всеобщему движению яблок вниз, будет казаться, что кот идёт вверх! Коты на протяжении всей игры будут находиться на одном и том же месте экрана. Васька в левой части экрана, Рыжик в правой части экрана, но, несмотря на это, игроку будет казаться, что коты, как сумасшедшие, носятся по огороду, и собирают яблоки.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных