Blockly для детей: что это и как начать программировать блоками
Объясняем принципы блочного программирования и собираем первую мини-игру.
Чтобы создать простую компьютерную игру, необязательно писать код. Например, можно собрать программу из готовых блоков, которые отвечают за перемещение персонажа, сбор предметов и подсчёт очков. Такой подход используют в визуальном программировании: он позволяет детям познакомиться с основами разработки, не изучая сложные правила записи команд в языках программирования. А создавать подобные среды помогает библиотека Blockly.
В этой статье мы расскажем, как работает Blockly, где ребёнок может попробовать блочное программирование и какие навыки оно помогает развивать. А ещё покажем, как создать собственную мини-игру.
Содержание
Что такое Blockly
Blockly — библиотека с открытым исходным кодом, с помощью которой разработчики создают редакторы визуального программирования. Изначально проект разработала компания Google, но с 2025 года им занимается Raspberry Pi Foundation.
В редакторах на основе Blockly программы собирают из готовых блоков, которые соединяются друг с другом, как детали конструктора. Каждый блок отвечает за определённую команду — например, за перемещение персонажа, проверку условия или повторение действия. Пользователю достаточно выбрать нужные блоки, расположить их в правильном порядке и при необходимости настроить параметры, например время движения.
Такой подход позволяет детям познакомиться с основами программирования, не изучая правила написания кода. Допустим, ребёнок может составить последовательность команд, чтобы персонаж прошёл по игровому полю, собрал предметы и вернулся в исходную точку.
Blockly иногда называют языком программирования, хотя технически это не совсем верно. В отличие от Python или JavaScript, у Blockly нет собственного языка с определённым синтаксисом. Это инструмент, с помощью которого разработчики создают визуальные редакторы: используют готовые блоки, добавляют собственные команды и определяют, как они будут выполняться.
При этом Blockly — не самостоятельная обучающая платформа, в отличие от, например, Scratch. Редактор Scratch Blocks изначально создали на основе технологии Blockly, но сам Scratch представляет собой полноценную среду программирования. В ней ребёнок может сразу приступить к созданию игр, анимаций и интерактивных историй.

Скриншот: Scratch / Scratch Foundation / Skillbox Media
Таким образом, дети обычно работают не с самой библиотекой Blockly, а с созданными на её основе приложениями. Именно в них они могут познакомиться с блочным программированием и освоить его основные принципы.
Как работает блочное программирование
В редакторах на основе Blockly команды представлены в виде блоков, распределённых по категориям. Например, одни отвечают за движение объектов, другие — за условия, циклы и работу с данными. Чтобы составить программу, нужно перетащить подходящие блоки в рабочую область и соединить их в нужном порядке.
Предположим, ребёнку нужно провести персонажа по игровому полю. Для этого он может собрать последовательность из трёх команд: сделать шаг вперёд, повернуть налево и снова сделать шаг вперёд. Получится простой алгоритм, и персонаж выполнит его после запуска программы.
Для более сложных задач используют дополнительные конструкции:
- Циклы позволяют повторять действия несколько раз. Например, вместо десяти одинаковых блоков движения можно использовать один блок с командой «повторить десять раз».
- Условия определяют, при каких обстоятельствах нужно выполнить команду. Например, если перед персонажем находится стена, он должен повернуть налево.
- Переменные помогают хранить и изменять данные. Например, с их помощью можно подсчитывать количество собранных предметов или заработанных очков.
- Функции объединяют несколько команд в одну последовательность, которую можно использовать повторно. Например, создать функцию для движения персонажа вокруг препятствия и вызывать её в разных частях программы.
На многих обучающих платформах результат можно проверить сразу после запуска. Если персонаж движется не туда или выполняет команды в неправильном порядке, ребёнок может изменить расположение блоков и попробовать снова.
Ещё одна возможность Blockly — преобразование визуальных блоков в текстовый код с помощью специальных генераторов. Это позволяет создавать редакторы, в которых пользователь может не только собирать программу из блоков, но и смотреть, как соответствующие команды записываются на обычном языке программирования.
Например, в Microsoft MakeCode, который использует технологию Blockly, можно переключаться между блочным редактором и текстовым кодом на JavaScript или Python.
Так ребёнок может сравнивать визуальные команды с текстовым кодом и постепенно знакомиться с синтаксисом конкретных языков программирования.

Скриншот: MakeCode / Microsoft / Skillbox Media
Где попробовать Blockly на русском
Попробовать блочное программирование можно на бесплатных образовательных платформах, которые работают прямо в браузере. Для начала достаточно выбрать задание, составить программу из готовых блоков и запустить её. Рассмотрим несколько таких ресурсов с поддержкой русского языка.
Blockly Games
ПопробоватьBlockly Games — платформа с восемью обучающими играми, которые помогают освоить основы программирования. Задания постепенно усложняются: сначала ребёнок учится соединять блоки, затем знакомится с циклами, условиями, функциями и текстовым кодом.
Например, на платформе доступны такие уроки:
- «Лабиринт». Нужно составить программу, которая проведёт персонажа через лабиринт к выходу. Сначала достаточно команд движения и поворота, но на следующих уровнях потребуются циклы и условия.
- «Птица». Нужно управлять полётом птицы, чтобы она поймала червяка и добралась до гнезда. Для этого придётся использовать условия и учитывать положение персонажа на игровом поле.
- «Фильм». Нужно создать простую анимацию, управляя положением и внешним видом объектов. Игра знакомит с математическими выражениями и изменением параметров.
- «Музыка». Нужно составлять мелодии из отдельных нот и использовать функции для повторного воспроизведения музыкальных фрагментов.
- «Учебный пруд». Нужно запрограммировать утку, которая перемещается по игровому полю и стреляет по целям. Задания постепенно знакомят с JavaScript и помогают перейти от визуальных блоков к написанию кода.
- «Пруд». Нужно написать программу для утки, которая будет соревноваться с другими участниками. Здесь можно использовать как визуальные блоки, так и JavaScript.
Во время прохождения заданий ребёнок может посмотреть, как собранная из блоков программа выглядит на JavaScript. Это помогает увидеть связь между визуальными командами и текстовым кодом.

Скриншот: Blockly Games / Google / Skillbox Media
Blockly.ru
ПопробоватьBlockly.ru — русскоязычная образовательная платформа с играми, практическими заданиями и материалами для самостоятельного изучения программирования. Помимо знакомых игр из Blockly Games, здесь есть и другие задания. Например, в игре «Банни собирает урожай» нужно составлять программы, которые помогут кролику собирать морковь в лабиринте. Всего доступно десять уровней с постепенно усложняющимися задачами.
На сайте также есть отдельный редактор Blockly, в котором ребёнок может создавать собственные программы из блоков, не ограничиваясь готовыми заданиями.
Для самостоятельного обучения предусмотрен раздел «Учимся программировать». В нём находится учебник по Blockly, сборники практических задач и материалы по Python, JavaScript и объектно-ориентированному программированию.

Скриншот: Blockly.ru / В. А. Андрияшкин / Skillbox Media
Робот-Blockly
Попробовать«Робот-Blockly» — обучающая среда на основе Blockly, которую разработал преподаватель информатики Константин Поляков. В ней ребёнок управляет роботом, который перемещается по клетчатому полю, обходит препятствия и выполняет задания. Упражнения разделены по темам: линейные алгоритмы, циклы, условия, процедуры и переменные. Это позволяет постепенно переходить от простых команд к более сложным программам.
Одна из особенностей «Робота-Blockly» — возможность посмотреть, как собранная из блоков программа выглядит на Python, JavaScript, PHP, Dart и Lua. Например, ребёнок может составить алгоритм движения робота с помощью блоков, а затем сравнить, как циклы и условия записываются на разных языках. Это поможет понять, что одни и те же задачи можно решать с помощью разных языков программирования, и подготовиться к переходу от визуальных блоков к написанию кода.

Скриншот: «Робот-Blockly» / К. Ю. Поляков / Skillbox Media
Собираем первый проект при помощи Blockly
Создадим простую игру в Sprite Lab — среде визуального программирования от Code.org, которая использует Blockly. В ней можно создавать персонажей, настраивать игровое поле и управлять объектами с помощью блоков.
В нашей игре нужно будет провести персонажа из одной точки игрового поля в другую, чтобы он подобрал предмет. Для этого настроим игровую сцену, добавим персонажа и составим программу для его перемещения.
Шаг 1: создайте игровой мир и персонажа
Сначала настройте игровое поле. В списке блоков откройте категорию World, найдите блок «Установить фон для…» и присоедините его к стартовому блоку «При запуске». Выбранный фон появится в окне предварительного просмотра слева. При желании измените его, выбрав другой вариант в настройках блока.

Скриншот: Sprite Lab / CodeAI / Skillbox Media

Скриншот: Sprite Lab / CodeAI / Skillbox Media

Скриншот: Sprite Lab / CodeAI / Skillbox Media
Теперь добавьте первый спрайт — игровой объект, которым можно управлять с помощью программы. Откройте категорию Sprites, выберите первый блок с фиолетовым персонажем и присоедините его к блоку настройки фона. После этого спрайт появится в центре игрового поля.
Переместите персонажа немного левее и выше. Для этого нажмите на поле с координатами в блоке создания спрайта и перетащите персонажа в нужную точку игрового поля, как показано на скриншотах ниже.

Скриншот: Sprite Lab / CodeAI / Skillbox Media

Скриншот: Sprite Lab / CodeAI / Skillbox Media

Скриншот: Sprite Lab / CodeAI / Skillbox Media
Аналогичным образом добавьте второй спрайт — морковку, которую должен взять персонаж. Для этого выберите ещё один блок из категории Sprites, нажмите на изображение персонажа и замените его морковкой. Затем настройте координаты, чтобы разместить морковку в другой части игрового поля.

Скриншот: Sprite Lab / CodeAI / Skillbox Media
Шаг 2: настройте перемещение персонажа
Теперь настройте управление первым спрайтом с помощью клавиатуры. Откройте категорию Behaviours, выберите голубой блок «Спрайт начинает» и присоедините его к блоку создания персонажа. Затем в той же категории найдите блок «Перемещение клавишами со стрелками» и вставьте его в блок поведения.
Нажмите Выполнить, чтобы проверить результат. Попробуйте перемещать персонажа по игровому полю с помощью стрелок на клавиатуре.
Чтобы изменить клавиши управления или скорость движения, нажмите Редактировать в зелёном блоке поведения. В открывшемся редакторе настройте нужные параметры.

Скриншот: Sprite Lab / CodeAI / Skillbox Media

Скриншот: Sprite Lab / CodeAI / Skillbox Media
Шаг 3: создайте событие с движением персонажа
Теперь настройте событие, которое произойдёт, когда персонаж доберётся до морковки. В этот момент он должен остановиться, морковка — исчезнуть, а на экране должно появиться сообщение.
Для этого откройте категорию Events и выберите блок «Когда… касается…». Убедитесь, что в нём указаны нужные спрайты: персонаж и морковка. Разместите блок отдельно от конструкции «При запуске». Он будет запускать собственную последовательность команд при соприкосновении двух объектов.

Скриншот: Sprite Lab / CodeAI / Skillbox Media
Теперь настройте остановку персонажа. Откройте категорию Behaviours и выберите блок «Спрайт останавливается». Убедитесь, что в нём указан нужный персонаж.
Затем вернитесь к первой цепочке команд, нажмите правой кнопкой мыши на блок «Перемещение клавишами со стрелками» и выберите Дублировать. Присоедините копию к блоку «Спрайт останавливается». Так программа отключит управление персонажем, когда он коснётся морковки.
После этого откройте категорию Sprites, найдите блок «Удалить» и добавьте его в цепочку обработки столкновения. В настройках блока выберите морковку, чтобы она исчезала с игрового поля при соприкосновении с персонажем.

Скриншот: Sprite Lab / CodeAI / Skillbox Media

Скриншот: Sprite Lab / CodeAI / Skillbox Media
Осталось добавить сообщение, которое появится после сбора морковки. Откройте категорию Sprites, найдите блок «Сказать» и присоедините его к цепочке команд, отвечающей за столкновение персонажа с морковкой. В настройках блока выберите персонажа и замените стандартный текст на «Ура! Я нашёл морковку!».
Теперь нажмите Выполнить и проверьте игру. Проведите персонажа к морковке с помощью стрелок на клавиатуре. Когда он коснётся предмета, управление должно отключиться, морковка — исчезнуть, а на экране появится заданное сообщение.

Скриншот: Sprite Lab / CodeAI / Skillbox Media
Запустим проект и посмотрим на результат.

Скриншот: Sprite Lab / CodeAI / Skillbox Media
После того как персонаж возьмёт морковку, он перестанет реагировать на нажатия клавиш, а на экране останется финальная сцена. Чтобы запустить игру заново, нажмите Сбросить в нижней части окна.
Посмотрите готовую схему программы и попробуйте пройти мини-игру самостоятельно по ссылке.
Как помочь ребёнку освоить Blockly
Мы собрали несколько рекомендаций, которые помогут ребёнку освоить блочное программирование и не потерять интерес к занятиям.
Начните с небольших задач. Предложите ребёнку собрать программу из нескольких блоков. Например, провести персонажа по прямой или нарисовать квадрат с помощью команд движения и поворота. Когда он освоит основные действия, постепенно переходите к более сложным заданиям с циклами и условиями.
Не решайте задачи за ребёнка. Если программа работает неправильно, предложите самостоятельно найти ошибку. Помогайте наводящими вопросами: «На каком шаге персонаж свернул не туда?», «Какую команду нужно изменить, чтобы он дошёл до цели?» Так ребёнок научится проверять алгоритмы и исправлять ошибки.
Поощряйте эксперименты. После выполнения задания предложите изменить готовую программу. Например, добавить препятствие в лабиринт, увеличить скорость персонажа или придумать новое условие победы. Это поможет понять, как отдельные команды влияют на работу программы.
Учитывайте интересы ребёнка. Если ему нравятся головоломки, начните с Blockly Games. Если интереснее создавать собственных персонажей и придумывать игровые сюжеты, попробуйте Sprite Lab. Выбирайте задания, которые соответствуют увлечениям ребёнка, а не только порядку уроков на платформе.
Не требуйте идеального результата с первой попытки. Важнее, чтобы ребёнок понимал принципы работы программы, пробовал разные решения и постепенно становился самостоятельнее.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!
