Книга юных программистов на Scratch 1.4
Добавьте скрипт касания бревна.
Добавьте финальный скрипт. Если у Кота ноль жизней, то он улетает навсегда,
безумно вращаясь.
100
Глава 15. Общение с персонажем.
Запустите игру. Управляйте реактивным ранцем с помощью пробела.
Вопрос: как ускорить полет брёвен?
Задание: сделайте, чтоб все три бревна вращались в полёте.
ГЛАВА 15. ОБЩЕНИЕ С ПЕРСОНАЖЕМ.
Иду я по школе, никого не трогаю, вдруг на встречу новенький ученик.
Пообщались маленько.
Создайте новый проект, добавьте фон и какого-нибудь человека из папки
People.
101
Книга юных программистов на Scratch 1.4
Сделайте ему такую программу.
Блок «спросить и ждать» нам уже знаком. Мы использовали его в программе
про злую бабочку. Здесь появился новый блок «слить». Он соединяет слова. В
нашем случае он соединяет слово «Привет» и имя, которое Вы ввели при ответе
на вопрос. Чтобы получился такой сложный блок, сначала вытащите в рабочую
область три блока: «говорить», «слить», «ответ».
Потом тащите ответ и поставьте его вместо слова «мир».
Потом тащите «слить» и поставьте его вместо слова «Привет!»
В блоке «слить» замените слово «привет» на «Привет, ».
102
Глава 15. Общение с персонажем.
Запустите программу. Напишите имя и нажмите Enter.
Мальчик ответит: «Привет, Васисуалий». Обратите внимание, после слова
«Привет» есть запятая и пробел. Если пробела не будет, слова будут написаны
слитно: «Привет,Васисуалий». Давайте добавим на конце восклицательный знак,
ведь мальчик рад нас видеть. Вытащите в рабочую область ещё один блок
«слить».
Вытащите из блока «говорить» зелёный блок «слить» с ответом внутри, и
поставьте его вместо слова «привет» в новом блоке.
Замените слово «мир» на восклицательный знак «!».
Перетащите двойной блок «слить» в фиолетовый блок «говорить».
103
Книга юных программистов на Scratch 1.4
Верните блок «говорить» на прежнее место после блока «спросить». Получится
такая программа.
Продолжим писать диалог (диалог – разговор двух собеседников). Добавьте
фразочку: «Сколько тебе лет? Семь? А я думал восемь…».
Здесь к Вашему ответу прибавляется один. Используем блок сложения. Слева
положите блок «ответ», справа напишите «1».
Поместите полученный блок сложения вместо слова «мир».
Протестируйте программу. Введите возраст «7».
104
Глава 15. Общение с персонажем.
Всё работает правильно. Продолжаем делать диалог. Добавьте вопрос об
уроке.
Мальчик отвечает немного не по-русски. Наверное, недавно живет в России.
105
Книга юных программистов на Scratch 1.4
Добавьте вопрос о семечках. Получится такая программа.
Обратите внимание, пощёлкав семечки, мальчик не пошёл на урок, а пошёл в
другую сторону. Измените программу, чтобы он пошёл на урок (налево). Можете
убрать блок «спрятаться» и продолжить диалог дальше.
106
Глава 16. Викторина «Столицы государств».
ГЛАВА 16. ВИКТОРИНА «СТОЛИЦЫ ГОСУДАРСТВ».
Давайте ещё немного поработаем с текстом. Сделаем программу Викторина.
В этой программе будет использоваться четыре переменных. Создайте их.
Переменная «Очки» будет хранить число набранных очков. Всего в игре десять
вопросов. Значит переменная «Очки» может изменяться от ноля до десяти.
Переменная «ответ1» будет хранить текст – имя игрока. Переменные могут
хранить не только числа, но и текст. Переменная «ответ2» тоже будет хранить
текст – номер класса, в котором учится игрок. Переменная «ответ3» будет хранить
текст – номер школы игрока. Программа очень длинная, но состоит из десяти
повторяющихся блоков. Для облегчения работы будем дублировать
повторяющиеся кусочки программы. Сделайте начало программы и первый
вопрос.
107
Книга юных программистов на Scratch 1.4
Нажмите правой кнопкой на блок «спросить Столица России и ждать» и
выберите «дублировать»
Прицепите новый кусочек снизу.
Исправьте страну на «Украину» и город на «Киев».
Таким способом сделайте десять вопросов. Первые пять.
108
Глава 16. Викторина «Столицы государств».
Вторые пять.
109
Книга юных программистов на Scratch 1.4
После последнего вопроса добавьте ещё несколько блоков. Кот будет
объявлять результаты викторины.
Запустите, покажите родителям и друзьям. Думаю, не многие из них знают
столицу Гондураса! Теперь можете переделать вопросы на свои собственные.
Например, из биологии, из спорта, из истории Вашей семьи, из истории России.
ГЛАВА 17. ИГРА ПЛАТФОРМЕР.
Давайте сделаем простейший платформер. Кот бежит домой через три экрана.
Если Кот упадет в красную лаву, то конец игры.
Здесь фон залит голубым и на нем нарисовано солнце, а земля и лава
нарисованы в виде отдельных спрайтов. Кот всегда находится в центре экрана и
двигается вверх и вниз. Спрайты с землёй и лавой перемещаются справа налево
и, игроку кажется, что Кот бежит направо.
Сначала нарисуйте фон.
110
Глава 17. Игра платформер.
Потом нарисуйте 4 спрайта с землей и лавой. Постарайтесь участки лавы делать
не очень широкими. Обратите внимание, рисуем на минимальном масштабе.
Нарисуйте спрайт экран1.
Нарисуйте спрайт экран2.
111
Книга юных программистов на Scratch 1.4
Нарисуйте спрайт экран3.
Нарисуйте спрайт экран4.
112
Глава 17. Игра платформер.
Сделайте Коту такую программу.
Давайте подробно разберём, как работает эта программа. Это поможет Вам
найти и исправить ошибки – отладить программу. Вначале, когда щёлкнут по
флажку, Кот идет в центр экрана в точку (0;15). Переменная scrollX обнуляется. Эта
переменная показывает, какое расстояние направо прошёл Кот. Он говорит
печальную фразу, и дальше начинается основная программа в блоке «всегда».
113
Книга юных программистов на Scratch 1.4
Основная программа состоит из шести условий «если». Первое условие
отвечает за полёт Кота вверх. Мы пятнадцать раз изменяем игрек на восемь, то
есть Кот поднимется вверх на 120 точек. Но это произойдет только при условии,
что нажата стрелка вверх, и Кот стоит на зелёной земле (касается зелёного цвета).
Следующий блок отвечает за то, чтобы Кот стоял на зелёном цвете, и не улетал
ни вверх, ни вниз. Если он касается зелёного, то подпрыгнет на 2 точки вверх.
Если он висит над зелёным цветом и не касается его, он падает на 3 точки вниз.
Этот блок отвечает за лаву. Если Кот коснётся красного цвета, то он погиб.
Здесь всё очень просто. Домик Кота нарисован синим. Если Кот коснётся синего
цвета, то он дома.
114
Глава 17. Игра платформер.
Следующий блок описывает движение влево. Переменная scrollX изменяется
на два, к этой переменной привязано движение экранов. Обычно, при движении
влево мы изменяем икс на отрицательное число (на -1, на -10), но в нашей игре
двигается не Кот, а задний фон, поэтому, чтобы казалось, что Кот идёт влево,
задний фон должен сдвигаться вправо. Также Кот всегда переходит в верхний
слой, чтобы не спрятаться за спрайтами экран1, экран2 и другими.
Аналогично запрограммировано движение Кота вправо. На самом деле это
движение заднего фона влево.
Обратите внимание. Внутри блока «всегда» все эти шесть блоков «если» могут
быть переставлены местами в произвольном порядке. Работа программы от этого
не изменится.
Сделаем теперь программы для экранов. Они все похожи. Когда сделаете
программу для первого экрана, то перетащите её на экран2 – она в него
скопируется. Останется изменить только одно число. Скрипт для экрана1.
Скрипт для экрана2.
Скрипт для экрана3.
115
Книга юных программистов на Scratch 1.4
Скрипт для экрана4.
Как работают эти скрипты, я и сам не знаю. Вижу только одно знакомое число
четыреста восемьдесят, это ширина экрана. Во время работы программы
понаблюдайте за значением переменной scrollX, и постарайтесь вычислить
значение выражения scroll+480*0, тогда Вы поймете куда сдвинется экран1.
Вычислите выражение scroll+480*1, и Вы поймёте где будет экран2.
Можете попробовать сами нарисовать экран5 и экран6 – удлинить игру.
ГЛАВА 18. КОШАЧИЙ БОУЛИНГ.
Что-то много котов во дворе развелось. Давайте поиграем в кошачий боулинг!
Кликаем мышкой в экран – в этом направлении летит мяч. Надо подбить всех
котов. При попадании мячом, они исчезают. В конце судья объявит время игры.
Создайте новый проект. Удалите Кота Спрайт1. Добавьте спрайты Мяча, Судьи,
116
Глава 18. Кошачий боулинг.
и одного кота. Переименуйте Мяч, Судью и кота. Спрайты надо немного
уменьшить.
Выберите фон. Добавьте коту второй костюм.
Теперь создайте одну переменную Мячу.
Сделайте программу коту1. Она очень простая. Кот1 плывёт каждый раз в
случайную точку.
117
Книга юных программистов на Scratch 1.4
Когда программа кота1 готова, нажмите на него правой кнопкой и дублируйте.
Создайте пять копий кота1. Можете даже больше.
Сделайте программу Судьи.
Мячу сделайте такую программу.
Здесь мы используем математическую функцию арктангенс. Она показывает
направление в градусах до точки, в которую вы кликнули. Подробнее Вы узнаете
в школе, или во второй нашей книге. Складывать такую сложную формулу нужно
118
Глава 18. Кошачий боулинг.
тоже по порядку. Сначала вытащите в рабочую область нужные блоки. Блок
«повернуть в направлении», блок «мышка по х», блок «мышка по у», два блока с
минусом, блок вычитания и блок «квадратный корень».
Нажмите на треугольничек у квадратного корня и выберите atan. Обратите
внимание, как много есть интересных математических функций! С помощью них
мы сможем рисовать прикольные узоры и делать много интересных игр.
Все блоки готовы к сборке формулы.
Сначала соберите первое вычитание.
Потом соберите деление.
Добавьте деление в арктангенс.
119
Книга юных программистов на Scratch 1.4
Добавьте арктангенс в вычитание.
Полученную формулу добавьте в блок «повернуть в направление».
Получилась прикольная жирненькая формула, а главное, она работает!
Протестируйте программу.
Если Мяч очень большой, то попасть в котов очень легко. Уменьшите мяч,
играть станет интереснее.
Попробуйте замедлить движение мяча, играть станет ещё труднее. Вставьте в
нужном месте блок «ждать 0.1 секунд» или «ждать 0.05 секунд».
120
Глава 19. Игра «Лови вкуснятину».
ГЛАВА 19. ИГРА «ЛОВИ ВКУСНЯТИНУ».
В этой игре Кот, управляемый мышкой, бегает влево и вправо. С неба падают
вкусняшки, которые надо ловить ртом. Если Кот поймал вкусняшку, то
переменная «слопал» увеличится на единицу. Если вкусняшка упала на землю,
или Кот наелся перца, то на единицу увеличится переменная «потерял». Цель
игры – набрать как можно больше очков «слопал». Если переменная «потерял»
достигла пяти, то конец игры.
Сначала переименуем кота и нарисуем вкусняшки.
У каждой вкусняшки четыре костюма.
121
Книга юных программистов на Scratch 1.4
Первые три костюма съедобные, четвертый – несъедобный.
Тортик.
Бургер.
Помидор.
Перчик Чили.
122
Глава 19. Игра «Лови вкуснятину».
Дублируйте вкусняшку два раза.
Переименуйте вкусняшек в торт1, торт2 и торт3.
Залейте Коту рот оранжевым цветом.
Скрипт Кота очень простой.
123
Книга юных программистов на Scratch 1.4
Кот управляется мышкой, координата х кота всегда равна координате х мышки.
Если переменная «потерял» достигнет пяти, то конец игры.
Иногда вкусняшки падают за Котом, не касаясь рта, и не срабатывают. Поэтому
надо добавить блок «перейти назад на 3 слоя», чтобы вкусняшки летели перед
Котом, и могли коснуться его рта.
Скрипты всех вкусняшек одинаковые и очень большие. На одну картинку не
помещаются, поэтому я разделил её на две части.
124
Глава 19. Игра «Лови вкуснятину».
125
Книга юных программистов на Scratch 1.4
Давайте теперь подробно разберём, как работает этот скрипт. Я добавил
комментарии к скрипту нажав правой кнопкой мыши на пустое место и выбрав
«добавить комментарий».
Начало скрипта. Вкусняшки появляются вверху у=150.
Весь скрипт выполняется внутри огромного блока «всегда». Задержка
появления вкусняшек от 3 до 5 секунд. Костюм вкусняшки выбирается случайно.
Место падения, координата х, тоже выбирается случайно из диапазона от х=-200
до х=200.
126
Глава 19. Игра «Лови вкуснятину».
Дальше запрограммировано падение вкусняшки (изменение у на -2). Она
падает пока не коснётся края экрана, либо ротика котика, который
предусмотрительно покрашен в оранжевый цвет.
Обратите внимание, оттенок оранжевого не такой, как основная окраска кота.
Если вы закрасите рот таким же цветом как голова кота, то вкусняшки будут
исчезать при касании головы кота, а не рта. Кот будет есть пирожки ушами!
Дальше следуют два больших условия. «Если номер костюма =4», то есть, если
падает перец.
И «Если номер костюма НЕ =4» - падает съедобная вкусняшка.
Внутри каждого из этих условий есть ещё по два условия. Внимательно
посмотрите, какие два условия при падении перца. Первое условие - если падает
перец, и он коснётся ротика котика, то переменная потерял увеличится на 1.
Второе условие – если перец касается края, то он просто исчезает.
127
Книга юных программистов на Scratch 1.4
Теперь посмотрите, какие два условия, если падает съедобная вкусняшка.
Первое условие – если съедобная вкусняшка касается ротика котика, то
переменная «съел» увеличится на 1, если же она коснётся края экрана (второе
условие), то на единицу увеличится переменная «потерял».
Запускайте программу, покормите котика.
128
Глава 20. Кот студент.
ГЛАВА 20. КОТ СТУДЕНТ.
Недавно мы делали программу, в которой Кот умел только складывать числа.
Теперь он учится в институте, и освоил четыре действия! Не смотря на это, Кот
устроился в школу учителем математики, и пытается учить детей. Он может
складывать, вычитать, умножать и делить.
Создайте три переменных.
129
Книга юных программистов на Scratch 1.4
Сделайте Коту-математику такую программу.
Запустите игру, и протестируйте все четыре арифметических действия.
Вопрос. Сколько будет 11 умножить на 11. Посчитайте в уме, а затем проверьте
с помощью программы.
Задание. 1. Проверьте, как умеют считать Ваши родители. Задавайте им
примеры и проверяйте ответ с помощью программы.
2. Сделайте так, чтобы ответ появлялся на экране не сразу, а после того, как
игрок сам введёт правильный ответ. Программа должна будет сравнить ответ
игрока с ответом Кота, и если они совпадают, то сказать: «Правильно!»
130
Глава 21. Скроллинг по х и по у.
ГЛАВА 21. СКРОЛЛИНГ ПО Х И ПО У.
Забрался как-то раз Команданте Кот в подземелье, и пошел искать патроны.
Патроны лежали в синем ящике. Как же их найти?
В этой игре Кот всегда будет стоять в центре экрана, а пещера будет двигаться.
Сначала нарисуйте фон. Так как дело происходит в пещере, то фон должен быть в
коричневых тонах. Я просто залил всё коричневой краской. Можете подрисовать
сталактиты и сталагмиты, а если Вы увлекаетесь спелеологией, то и сталагнаты.
Потом подрисуйте беретку Команданте Коту, и уменьшите его, чтобы он мог
пролезть по пещере.
Создайте у Кота переменные ScrollX и ScrollY. Уберите галочки рядом с ними.
131
Книга юных программистов на Scratch 1.4
Сделайте Команданте Коту такую программу.
Ещё несколько блоков ответственных за движение Кота по пещере.
Теперь нарисуйте спрайты пещеры. Здесь показаны четыре уменьшенных
спрайта.
Пещера будет большая, на один экран не поместится, поэтому рисуем четыре
132
Глава 21. Скроллинг по х и по у.
спрайта. Сначала левый нижний, потом правый нижний, потом правый верхний,
потом левый верхний.
Спрайт2 – левый нижний. Рисуйте на минимальном масштабе. Пещеру проще
рисовать черными прямоугольниками.
Спрайт3 – правый нижний.
Спрайт4 – правый верхний.
Спрайт5 – левый верхний.
133
Книга юных программистов на Scratch 1.4
Скрипт Спрайта2.
Скрипт Спрайта3.
Скрипт Спрайта4.
Скрипт Спрайта5.
134
Глава 22. Мультфильм «Кот и проблема с дровами».
Программа готова. Запускайте Кота в пещеру и попробуйте найти патроны. Вам
то легко! Пригласите друзей, пускай теперь они попробуют их найти, пещера от
не маленькая!
Вопрос: как ускорить движение Кота?
Задание повышенной трудности: сделайте пещеру из 9 спрайтов, и попробуйте
в ней не заблудиться!
ГЛАВА 22. МУЛЬТФИЛЬМ «КОТ И ПРОБЛЕМА С ДРОВАМИ».
В этой игре мы сделаем мультфильм про то, как жил Ленивый Кот. Пришёл
ноябрь, а дров-то он заготовить и не успел!
В этом мультфильме мы применим несколько спецэффектов.
Всего в мультфильме будет пять спрайтов.
Начните создание мультфильма с рисования фонов. Первый фон – тёплая
комната, второй фон – холодная комната с погасшим очагом.
135
Книга юных программистов на Scratch 1.4
Третий фон – тёмная ноябрьская ночь.
Потом добавьте Коту второй костюм – Кот с вязанкой дров.
Добавьте Коту четыре скрипта. Событие «Дрова кончились» пока не
существует. Добавим его потом, когда запрограммируете темноту.
136
Глава 22. Мультфильм «Кот и проблема с дровами».
Вот первые два скрипта Кота.
Вот следующие два скрипта Кота.
Теперь добавьте спрайт темноты. Он будет плавно появляться, и затемнять
комнату, это первый спецэффект.
Просто залейте весь спрайт черным цветом.
137
Книга юных программистов на Scratch 1.4
Сделайте темноте такую программу из трёх спрайтов. Вот первые два.
Вот третий скрипт.
138
Глава 22. Мультфильм «Кот и проблема с дровами».
Так как вы добавили событие «Дрова кончились», то доделайте скрипт Кота.
Добавьте спрайт Огонь.
Немного увеличьте масштаб, и нарисуйте огонь. Сначала нарисуйте желтым,
потом оранжевым, потом красным.
Скрипты огня.
Нарисуйте Пламя – это будет второй спецэффект. Пламя будет немного
подниматься, и исчезать, как у настоящего огня.
139
Книга юных программистов на Scratch 1.4
Расположите его в верхней части огня.
Скрипты пламени.
Дублируйте пламя.
140
Глава 22. Мультфильм «Кот и проблема с дровами».
Немного измените программу второго пламени, так как оно располагается чуть
ниже первого.
На самом деле координаты х и у пламени у Вас будут немного не такими как в
книге, так как огонь Вы нарисуете не точно так, как мы. Когда огонь и два
пламени будут готовы, подвиньте пламя в верхнюю часть огня, и посмотрите
какие у него координаты х и у.
Вот такие координаты и внесите в блок «идти в х … у …»
141
Книга юных программистов на Scratch 1.4
Осталось сделать программу для сцены.
Мультфильм готов.
142
Глава 23. Космическая аркада.
ГЛАВА 23. КОСМИЧЕСКАЯ АРКАДА.
Научился наш Котик обращаться с боевым лазером, и решил повоевать с
пришельцами. Полетел в космос, и давай по ним стрелять. Пришельцы на него
разозлились, и решили транклюкировать. Если летающая тарелка долетит до
Кота, то он будет полностью транклюкирован и исчезнет. Отстоим галактику!
Пришельцы не пройдут!
В этой игре Кот управляется стрелками «вверх» и «вниз», а стреляет
«пробелом». На кота нападают пять летающих тарелок. Они двигаются,
постепенно приближаясь к Коту, если они коснуться Кота – The END. В конце игры
выплывают буквы THE END в виде красивой заставки.
В игре сделаем три спецэффекта: вращающееся звездное небо, луч бластера,
заставка THE END.
Всего в игре 14 спрайтов.
Кот, луч, пять НЛО, 6 букв и фон заставки.
Фон игры должен выглядеть как вращающееся звездное небо. У него 6
костюмов, каждый из которых повернут на 30 градусов относительно
предыдущего. Загрузите костюм космического фона из папки Nature. Дайте
костюму имя «stars».
143
Книга юных программистов на Scratch 1.4
Удалите стандартный пустой белый фон.
Нажмите «копировать» костюм «stars».
Появится костюм «stars1». Нажмите «редактировать».
Нажмите 2 раза кнопку «поворот по часовой стрелке» и 3 раза кнопку
увеличения.
Снова нажмите «копировать» костюм «stars».
Появится костюм «stars2». Нажмите «редактировать».
Нажмите 4 раза кнопку «поворот по часовой стрелке» и 3 раза кнопку
увеличения.
Копируйте костюм «stars» еще 3 раза. Каждый раз поворачивайте появившийся
костюм на 2 раза больше. Всего будет 6 костюмов, каждый из которых повернут
на 30 градусов относительно предыдущего. При смене костюмов, будет казаться,
что звездное небо вращается.
144
Глава 23. Космическая аркада.
Создайте две переменные в скриптах сцены.
Обратите внимание, когда мы создаём переменную на сцене, то она видна
автоматически всем спрайтам. Это глобальная переменная.
Программа сцены просто обнуляет переменную очки, разрешает НЛО летать
(ставит переменную «можно летать» в единицу) и постоянно крутит звёздное
небо – перебирает по очереди все фоны.
145
Книга юных программистов на Scratch 1.4
Программа Кота вот такая. В начале игры он появляется в левой части экрана.
Управляется только стрелками «вверх» и «вниз». В конце игры, когда появляется
заставка THE END, Кот, как и все остальные спрайты, спрячется. Скриптик «когда я
получу конец – спрятаться» есть у всех НЛО и у Луча.
Теперь нарисует Луч. У него будет четыре костюма.
На минимальном масштабе нарисуйте розовый луч через весь экран. Размер
кисти не самый тонкий.
146
Глава 23. Космическая аркада.
Подрисуйте на луче сгусток плазмы, такой, какой обычно вылетает из бластера.
Используйте более тёмные цвета одного оттенка, и поставьте яркую точку в
центре сгустка.
Потом три раза скопируйте костюм луча. Сделаем Лучу небольшую анимацию,
как будто сгусток плазмы летит в цель. Для этого скопируем и переместим левее
сгусток плазмы. Редактируйте все три копии первого костюма. Выделяйте рамкой
сгусток плазмы, и перетаскивайте его влево. У каждого следующего костюма –
левее.
Луч. Костюм1.
Луч. Костюм2.
Луч. Костюм3.
147
Книга юных программистов на Scratch 1.4
Луч. Костюм4.
При копировании и перемещении плазмы, в Луче будут оставаться дырки.
Нарисуйте в них прямые линии, чтобы заполнить. Если линии будут, как и у меня,
не очень ровные, то это не беда, ведь Луч будет мелькать на экране в течение 0.1
секунды. Игроки ничего не успеют разглядеть, им покажется, что вправо
пролетела какая-то вспышка.
Сделайте скрипты Луча.
Самый интересный блок здесь, это «установить у в положение у от Кот».
«Положение у от Кот», это координата у центра Кота по высоте. Координата у
луча будет всегда равна координате центра Кота, то есть Луч всегда будет
вылетать из центра Кота. Проверьте это. Нажмите зелёный флажок, управляйте
котом стрелками и нажимайте пробел. Если Вам не нравится, что Кот стреляет из
живота, можете немного изменить программу, чтобы, например, Луч вылетал из
глаз доброго Котика. Измените блок «установить у в положение у от Кот».
Дальше нарисуйте НЛО1. Нажмите.
148
Глава 23. Космическая аркада.
Сначала рисуем овал с заливкой, потом овал без заливки.
Нарисуйте овал.
Выберите овал без заливки и другой цвет.
Кисточкой первого цвета зарисуйте половину второго овала.
Получилось нормальное НЛО. Второй
овал лучше сделать более светлым,
чтобы на темном ночном фоне он был
лучше заметен. Сделайте программу для
НЛО. Потом мы его продублируем 4
раза.
149