Привет юным программистам! Статья, которую ты читаешь является первым уроком программирования в Scratch для детей 8-9 лет. Описание алгоритмов начального уровня, ориентированных на детвору 6-7 лет, можно найти в рубрике: Scratch для детей . В этой первой части написания кода для игры Ниндзя в среде разработки скретч вы познакомитесь со следующими базовыми алгоритмами программирования:
- Перемещение вправо-влево (отдельно этот код описан в проекте — Едущая машинка (scratch для детей 6-7 лет))
- Движение с изменением направления персонажа
- Прыжок вверх (отдельное описание кода смотрите в статье — Как сделать прыжок в Scratch)
- Появление и исчезновение спрайтов
- Взаимодействие нескольких спрайтов (удар мечом, запуск молнии в противника)
- Запрыгивание на другой объект
- Преобразование спрайта в другой объект
Теперь поговорим о каждом из приведенных выше алгоритмах scratch по отдельности. Перед прочтением материала по возможности ознакомьтесь со статьями начального уровня — их я помечаю тегом: для детей 6-7 лет в основной рубрике по детскому программированию. Перед прочтением скачайте графическую часть будущей игры (ZIP-архив)
Программируем движение с изменением направления персонажа
Загружаем начальную графику для игры. Для начала загружаем спрайт и подгружаем первые три костюма для объекта. Если вы не знаете как загрузить спрайт и костюмы, то посмотрите начальные уроки по Скрейт на этом сайте. Дело не в том, что мне лень это написать здесь, а в том, что безопытные пользователи не смогу разобраться в следующем коде. Подробного описания не будет, так как материал расчитан на детей уже знакомых со Скрейтч. И так загружаем графику из скаченного архива:
Сразу загрузим костюм для Бомбермена (одного из врагов ниндзя)
Ну и конечно же не забываем загрузить фон. На приведенных картинках виден порядок костюмов и их названия — вы должны справиться без проблем 🙂
Переходим к написанию кода для движения нашего героя с разворотом в направлении выбранном нами на контроллере управления (пульт, джойстик, клавиатура или виртуальные кнопки). Для движения вправо готовый код выглядит следующим образом (движение вправо пишите самостоятельно):
- Блок Показать — добавлен сюда из-за использования параметра Спрятаться в другом месте игры (пока можете написать код без него);
- Блок Если касается края, оттолкнуться — позволяет персонажу не уходить за края игровой области (попробуйте вначале написать этот код и не добавлять блок Установить способ вращения и посмотрите, что получится);
- Установить способ вращения вправо-влево — добавление кода позволяет убрать у персонажа эффект переворачивания с ног на голову при отталкивания от края;
- Повернуть в направлении -90 — этот код является основным в алгоритме движения спрайта с разворотом в нужном направлении и отвечает непосредственно за поворот в нудном направлении;
- Идти 10 шагов — отвечает за скорость перемещения персонажа. Отвечает за движение спрайта в том направлении, куда он повернут. Те.е герой не всегда будет идти слева на право ! (поиграйтесь с значением данного блока, а так же попробуйте использовать его без блока Повернуть в направлении -90 градусов)
- Ждать 0,05 секунд — код добавлен для плавной смены костюмов и визуальной видимости тго, что спрайт идет.
- Следующий костюм — после каждого нажатия на кнопку персонаж будет менять костюм (попробуйте понажимать на кнопку медленно,а затем просто зажмите ее и посмотрите, что из этого выйдет)
В этой части вы самостоятельно пишите код для движения вправо, а так же позиционирование персонажа при нажатии на запуск игры (Зеленый флажок). Не переживайте, в конце игры будет архив с фотографиями всего программного кода.
Алгоритм прыжка вверх в Scratch
Подробное описание смотрите в статье — Как сделать прыжок в Scratch). Код для ниндзя будет иметь следующий вид:
Описание запрограммированных блоков:
- Показать — показывает персонажа, если до этого по какой-то причине он имел параметр Скрыть (в нашем случае именно так);
- Задать скорость прыжка значение 0 — Заводим переменную с названием: Скорость прыжка и устанавливаем значение: 0
- Повторять всегда — блок, который позволяет постоянно выполнять указанный внутри код. Простейший цикл.
- Если … то — простейший алгоритм условия. Выполняется в зависимости от действий на контроллере управления (клавиатуре)
- Клавиша W нажата — непосредственное указание, пояснение думаю не требуется 🙂
- Задать Скорость прыжка значение 20 — устанавливаем значение переменной равное 20 (поиграйтесь с этим параметром и посмотрите, что изменится при его корректировки)
- Повторить 41 раз — цикл с определенным количеством повторений (Как ты думаешь изменив это значение, что изменится в действиях спрайта?)
- Изменить y на скорость прыжка — меняем визуальное расположение спрайта в зависимости от значений в переменной. Данный алгоритм кода позволяет видеть плавный прыжок спрайта с постоянным изменением высоты прыжка)
- Изменить скорость прыжка на -1 — блок отвечает за плавное опускание спрайта по y на изначальное место.
Появление и исчезновение спрайта — удар персонажа в игре
Чтобы проше написать алгоритм кода для удара ниндзя мечом создаем новый спрайт и загружаем 3 костюма удара мечом по противнику. Так как этот спрайт будет невидим во время старты игры и движения вправ и влево, а так же прыжка вверх, то добавляем следующий код:
Описание блоков:
- Когда Зеленый флаг нажат — спрятать спрайт
- Когда клавиша а нажата — спрятать спрайт (Обратите внимание на блоки синего цвета. Попробуйте вначале написать код без них и посмотрите,что изменится после их добавления!)
- Когда клавиша d нажата — все так же прячем объект (Вопрос: Как ты думаешь почему для клавиш A и D описаны дополнительные синие блоки, а для прыжка вверх и запуска игры нет?)
- Когда клавиша w нажата — прячем героя во время прыжка
Зачем написан алгоритм синего цвета:
Этот небольшой код позволяет разворачивать персонаж (а мы помним, что бьющий ниндзя — это другой спрайт) в ту сторону откуда идет противник. Без этого блока алгоритмов враг заходил бы слева от персонажа, а меч махал бы справа.
Скачать фото архив кода для программирования первой части игры Ниндзя на Скретч