Как сделать первую игру в Scratch: пошаговая инструкция для ребёнка и родителя
В первую игру интереснее играть, когда ты сам придумал её правила. Давайте сделаем в Scratch, или Скретч, «Поймай звезду»: нажимаешь на звезду — получаешь очко, а она появляется в другом месте. Соберёшь 10 очков — увидишь сообщение о победе. Программу будем собирать из цветных блоков. По ходу работы разберёмся, как игра замечает нажатия, запоминает счёт и понимает, что пора закончиться.
Видео итоговой игры
Что понадобится?
Компьютер или ноутбук с мышью либо тачпадом, интернет и браузер. Откройте редактор Scratch.
Для этой инструкции подойдёт работа без входа в аккаунт: в конце сохраним проект на компьютер.
Ребёнку пригодится умение читать короткие подписи и перетаскивать предметы мышью. Если это пока трудно, взрослый может читать шаги вслух, а ребёнок — выбирать блоки и проверять результат.
Шаг 1. Познакомьтесь с редактором
Смена языка интерфейса
Если редактор открылся на английском, нажмите Settings → Language → Русский. Если всплыло окно с руководством, его можно закрыть.
Для начала достаточно найти четыре области:
слева – категории и блоки команд;
в центре – место, куда перетаскивают блоки;
справа сверху – сцену, на которой работает игра;
под сценой – список спрайтов, то есть объектов проекта.
Над сценой находятся зелёный флаг для запуска и кнопка остановки.
Шаг 2. Добавьте звезду
Нажмите «Выбрать спрайт» под сценой. В поиске библиотеки введите Star и выберите звезду. Название в библиотеке может оставаться английским и при русском интерфейсе.
Кот для этой игры не нужен. Выберите его миниатюру и нажмите значок корзины. Затем снова выберите звезду.
В поле имени спрайта замените Star на Звезда, а в поле «Размер» укажите 60. Пока оставьте белый фон: на нём удобно проверять игру. Позже его можно поменять.
Дальше все блоки собирайте для спрайта «Звезда». Перед работой проверяйте, что под сценой выбрана именно его миниатюра.
Выберите спрайт звезды
Найдите в библиотеке со спрайтами нужный спрайт
Удалите стандартный спрайт кота
Измените название спрайта и его размер
Шаг 3. Создайте счётчик очков
Откройте категорию «Переменные» и нажмите «Создать переменную». Назовите её Счёт, оставьте вариант «Для всех спрайтов» и подтвердите создание.
Переменная — это место, в котором программа хранит значение. Наша переменная запомнит, сколько раз игрок поймал звезду.
Поставьте галочку рядом с переменной «Счёт», если счётчик не появился на сцене. В начале игры на нём должен быть ноль.
Шаг 4. Настройте начало игры
Теперь соберём первую цепочку. Она будет срабатывать после нажатия зелёного флага.
Из категории «События» перетащите блок с зелёным флагом. Под ним последовательно соедините команды:
«Задать Счёт значение 0» — из категории «Переменные».
«Сказать» — из категории «Внешний вид». Удалите текст из его поля, чтобы оно осталось пустым.
«Перейти в x: 0 y: 0» — из категории «Движение».
Пустой блок «сказать» убирает сообщение от предыдущей партии. Квадратные скобки в памятке обозначают пустое поле — сами скобки вводить не нужно.
Числа x и y задают положение спрайта на сцене. При x = 0 и y = 0 звезда оказывается в центре.
Нажмите зелёный флаг. Проверьте: звезда в центре, а «Счёт» показывает 0.
Шаг 5. Научите звезду реагировать на нажатие
Рядом с первой цепочкой соберите вторую. Она начинается с блока «Когда спрайт нажат» из категории «События».
Под ним поставьте:
«Изменить Счёт на 1» — из категории «Переменные».
«Перейти в x: … y: …» — из категории «Движение».
Каждое нажатие должно не только приносить очко, но и перемещать звезду. Для этого откройте «Операторы» и найдите блок «Выдать случайное от … до …».
Нужны два таких блока:
первый вставьте в поле x, задайте границы от -170 до 170;
второй вставьте в поле y, задайте границы от -100 до 100.
Не печатайте слова «выдать случайное» в числовых полях: перетащите в них зелёные блоки. Отрицательные числа вводятся со знаком минус.
Нажмите зелёный флаг, а затем несколько раз нажмите на звезду на сцене, а не на её миниатюру под сценой.
Счёт должен увеличиваться по одному, а звезда — появляться в разных местах. Случайный выбор иногда может дать близкое положение: это само по себе не ошибка.
Пока очки можно набирать сколько угодно. На следующем шаге добавим победу.
Шаг 6. Добавьте победу после 10 очков
Игра должна учитывать два правила:
пока счёт меньше 10, нажатие приносит новое очко;
когда счёт стал равен 10, появляется сообщение о победе.
Для этих правил нужны условия — блоки, которые проверяют, верно ли утверждение.
Измените вторую цепочку из предыдущего шага. Не оставляйте рядом её старую копию: иначе одно нажатие может запускать две программы.
Сначала под блок «Когда спрайт нажат» поставьте из категории «Управление» блок «Если …, то».
В его шестиугольное поле вставьте зелёный оператор «меньше» — блок со знаком <. Слева в него перетащите овальный блок переменной «Счёт», справа напишите 10. Название переменной не нужно набирать обычным текстом.
Внутрь условия поставьте «Изменить Счёт на 1».
Следом, всё ещё внутри первого условия, добавьте другой блок управления — «Если …, то … иначе». Его проверка: Счёт = 10. Для неё возьмите оператор со знаком = и снова вставьте настоящую переменную «Счёт».
В верхнюю часть второго условия поставьте блок «Сказать» с текстом:
Победа! Нажми флаг, чтобы сыграть ещё.
В часть «иначе» перенесите команду перехода в случайные координаты из предыдущего шага.
Когда набрано 10 очков, внешнее условие «Счёт < 10» уже неверно. Поэтому новые нажатия не прибавляют очки и не перемещают звезду. Сообщение о победе остаётся на экране.
Чтобы сыграть снова, нажмите зелёный флаг. Первая цепочка обнулит счёт, уберёт сообщение и вернёт звезду в центр.
Проверьте игру
Попробуйте пройти одну партию и перезапустить её:
Нажмите зелёный флаг: счёт равен 0, звезда находится в центре.
Нажмите на пустое место сцены: счёт не изменился.
Нажмите на звезду: счёт увеличился на 1.
Наберите 10 очков: появилось сообщение о победе.
Нажмите на звезду ещё несколько раз: счёт остался равен 10.
Снова нажмите зелёный флаг: можно начинать новую партию.
Если результат отличается, сравните обе цепочки с памятками. В проекте должны быть одна цепочка запуска и одна цепочка нажатия.
Если что-то не работает
Звезда не реагирует на нажатия. Проверьте, что код собран для «Звезды», блоки соединены и вы нажимаете на объект на сцене. Если уже набрано 10 очков, начните новую партию зелёным флагом.
Счётчика не видно. Откройте «Переменные» и поставьте галочку рядом со «Счётом».
Счёт всё время показывает 1. В обработчике нажатия нужен блок «Изменить Счёт на 1». Команда «Задать Счёт значение 1» каждый раз записывает единицу заново.
За нажатие добавляется два очка. Проверьте, не осталась ли старая цепочка из шага 5. Для нажатия на звезду должна быть одна цепочка.
Победа не наступает или счёт превышает 10. Проверьте оба условия и вложенность. Изменение счёта должно находиться внутри проверки «Счёт < 10». В операторах должны стоять блоки переменной, а не слово «Счёт», введённое с клавиатуры.
После перезапуска осталось сообщение о победе. В первую цепочку добавьте блок «Сказать» с действительно пустым текстовым полем.
Сохраните проект
Откройте меню «Файл» → «Сохранить на свой компьютер». Сохраните файл с понятным названием, например poimai-zvezdu.sb3. Если браузер сохранил проект под другим именем, его можно переименовать, сохранив расширение .sb3.
Чтобы продолжить позже, откройте редактор и в меню «Файл» выберите загрузку с компьютера. Этот пункт может отображаться как Load from your computer. Укажите сохранённый файл и снова запустите игру зелёным флагом.
Если в редакторе уже есть другой нужный проект, сначала сохраните его: открытие файла заменит текущий проект.
Что ребёнок уже попробовал
В этой игре есть несколько настоящих задач программирования: обработать событие, изменить переменную, выбрать случайное положение и проверить условие.
Можно попросить ребёнка объяснить одно правило своими словами: «Почему после 10 очков счёт больше не растёт?» Если объяснение пока не получается, нажмите на звезду и вместе пройдите по блокам сверху вниз.
А следующий проект уже можно придумать самому: что будет происходить по нажатию, что станет считать программа и какое условие завершит игру?
Если ребёнку понравилось создавать и менять игровые правила, посмотрите программы Смарт Код и выберите подходящее направление обучения в своём городе.