Все мы любим играть, это заложено в нас с детства. Так мы развлекаемся и отдыхаем. Однако, игры могут нести в себе, кроме прочих удовольствий, еще и полезные знания. Например, обучать детей, часто используемым кодовым конструкциям одного из языков программирования, языкам разметки или каскадным таблицам стилей. «Библиотека программиста» подготовила небольшой обзор таких игр, созданных для юных разработчиков. Поехали!
1. Dungeons & Developers
Эта браузерная игра похожа на древо «скиллов», присутствующее почти в любой RPG-игре, показывающее путь веб-разработчика, начиная с первых уровней, где рассматриваются базовые понятия (HTML и CSS), до уровня WEB Development Mastery, когда игрок знает практически все. Она создана в виде дорожной карты для всех новых адептов индустрии веб-программирования и будет полезна для тренировки серого вещества уже состоявшихся профессионалов. Выбрав персонажа, вы последовательно будете открывать новые навыки в дереве скиллов.
2. Code Monkey
Это популярное приложение по изучению основ программирования для детей и пользователей без опыта, благодаря которому миллионы студентов по всему миру постигают сложные вещи простым и увлекательным способом. CodeMonkey – игровая среда, предлагающая неплохую учебную программу для школ, а также онлайн-курсы для самостоятельного изучения информационных технологий в домашних условиях. В игре большое внимание, уделяется качеству контента, чтобы он соответствовал современным стандартам. С помощью многочисленных онлайн-задач учащиеся разовьют навыки программирования, мышление и базовую логику.
Три режима обучения:
- Ученик. Регистрируется в системе и проходит игровое обучение.
- Учитель. Создает учебную группу и следит за успехами своих падаванов, контролируя игровой процесс.
- Родитель. Этот режим позволяет обучать своего ребенка самостоятельно.
3. Elevator Saga
Простая игра-песочница, где вы должны будете запрограммировать движение лифтов, написав несложную программу на JavaScript. Ее цель – помочь людям попасть на нужный этаж. От уровня к уровню задачи будут становиться сложнее и только лучшие игроки смогут решить все. Игра хорошо развивает зрительную память и дает возможность потренироваться в изучении несложных, часто используемых в разработке, JS-конструкций.
4. Vim Adventures
Отличная обучающая игра от разработчика Дорона Линдера, ориентированная на освоение популярного текстового редактора Vim. Проходя уровни, вы изучите все необходимые для работы горячие клавиши и часто применяемые команды.
Здесь вы попытаетесь выбраться из лабиринта, с помощью правильно решенных задач. Игра понравится как новичкам, так и опытным vim-пользователям.
5. Flexbox Defence
Являетесь поклонником игрового жанра Tower Defense? Тогда это браузерное приложение – для вас. Цель игры – строить защитные атакующие башни, чтобы не допустить вторжения интервентов, желающих захватить вашу крепость. В отличие от уже знакомых вам игр такого рода, здесь вы должны размещать свои башни с помощью CSS-технологии flexbox.
6. Screeps
Это традиционная стратегия, целью которой является создание своего поселения(колонии) и наращивание влияния в игровом мире. Игровой мир – общий, без отдельных серверов, где колония игрока управляется написанным им кодом 24/7 в едином мире с колониями других пользователей. Чтобы управлять жизнью поселения, необходимо программировать AI юнитов на JavaScript.
Игровая механика проста:
- Вы добываете специальный ресурс под названием «Power».
- Добытые ресурсы обрабатываются и повышают уровень вашей учетной записи Global Power Level (GPL).
- GPL позволяет создавать Power Creeps – специальных героев – и развивать их уровни и навыки.
Создав колонию, игроку не обязательно целыми днями следить за ее развитием. Достаточно заходить время от времени, чтобы убедиться, что все функционирует на должном уровне.
Игра не подходит для абсолютных новичков. По утверждению авторов, она не обучает, а дает возможность продемонстрировать свое мастерство.
7. CSS Dinner
Наглядное игровое пособие, обучающее работе с CSS-свойствами. Ваша задача с помощью подходящих селекторов выбрать либо тарелки, либо лежащие на них фрукты. Простой, но интересный способ изучить CSS. В игре – 32 уровня, сложность которых растет в геометрической прогрессии. Каждый следующий этап основывается на знаниях, полученных на предыдущих уровнях. Игра подойдет для новичков, постигающих основы фронтенд-разработки.
8. Cyber Dojo
Cyber Dojo – игровой тренировочный зал для практикующих ИТ-дисциплины. Здесь вы сможете отточить свои навыки кодинга с помощью многочисленных упражнений и задач на десятках языков программирования, включая Python, Java, C#, C++, Ruby, PHP и JavaScript. У приложения простой и интуитивно-понятный интерфейс, однако оно не подходит для абсолютных новичков, нужны хотя бы базовые навыки программирования.
9. Untrusted
Занимательная игра на JavaScript, проверяющая знания языка и навыки его применения для решения целого ряда задач. Здесь вам необходимо будет провести персонажа по имени Dr. Eval, сквозь машинный континуум, изменив реальность, для дальнейшего его перемещения на последующий уровень. Игра подразумевает знания более сложных концепций JS, поэтому она не подходит для начинающих разработчиков.
10. Ruby Warrior
Если вы хотите попробовать себя в веб-разработке на Ruby – это игра то, что вам нужно. Эта веселая история о похождениях храброго рыцаря в сияющих доспехах реализована в стиле старых добрых 8-битных игр. Грамотно прописывая кодовые конструкции, вы управляете персонажем и ведете его к заветной цели, сражаясь с неприятелями, встречающимися на пути. Отличная игровая программа для начинающих рубистов.
11. Flexbox Froggy
Еще одна игра для изучения основ веб-разработки: грамотной стилизации и расположения элементов при верстке. В ней вы помогаете лягушонку и его товарищам прыгать с кувшинки на кувшинку с помощью CSS-кода, в частности, технологии flexbox. Подойдет для всех начинающих html-верстальщиков.
12. JavaScript Fight Club
Занимательный проект по созданию искусственного интеллекта персонального бойца в бойцовском клубе. Каждый участвующий в нем игрок, выкладывает в авторский Github-репозиторий – форк с Javascript-кодом своих персонажей, подгружаемых на сайт 1 раз в сутки. После этого все желающие смогут лицезреть эпические битвы ИИ-ботов, разбитых на две команды в реальном времени. Ну а если пропустил бой, его всегда можно посмотреть в записи. Игра для опытных разработчиков, желающих посоревноваться в искусстве кодинга со своими коллегами по цеху.
13. Scalatron
Здесь вы опять попытаетесь создать своего бота с искусственным интеллектом только теперь на языке программирования Scala. По сюжету игры популяция вашей расы сражается за источник жизненно важного ресурса – энергии. Играть можно как в своей «песочнице», так на сервере,используя виртуальную арену для битвы со своими друзьями или с совершенно незнакомыми людьми. Подходит для опытных scala-разработчиков.
14. Pixact.ly
Во всей нашей подборке эта игра единственная, не требующая от игрока базовых навыков программирования. Зато она развивает глазомер и зрительную память у начинающих фронтендеров. Она состоит из нескольких раундов, где вам нужно будет угадать размер прямоугольника, нарисовав его произвольно по шаблону, без заданной пиксельной ширины и высоты. После этого игра выводит правильный результат с информацией о том насколько вы ошиблись в построении, сопровождая все это издевательскими комментариями.
15. Checkio
Браузерная игра-песочница с задачами на Python и Typescript различного уровня сложности. Каждое новое упражнение расположено на отдельном острове в открытом море, и, чтобы переместиться от острова к острову, задачу нужно решить правильно. Подойдет как новичкам, так и уже состоявшимся опытным разработчикам.
16. Robocode
Игра-обучалка для кодеров, цель которой – разработать боевой танк-робот, используя Java или .NET, способный разобраться с танками других игроков. Сражения роботов происходят в реальном времени. В игре есть своя среда разработки и встроенный редактор роботов. Подойдет для начинающих программистов.
17. CodeCombat
Игра поможет вам изучить такие языки программирования, как Python, JavaScript, CoffeeScript, Lua и др. Прописывая несложные конструкции кода, вы даете инструкции главному персонажу для дальнейших действий. Игра создана на основе нескольких обучающих программ, позволяющих легко изучить синтаксис выбранного языка. Сложность обучения растет от уровня к уровню. А поскольку этот проект с открытым исходным кодом, вы всегда можете внести в него что-то свое. Игра подойдет всем, кто имеет базовые навыки программирования.
18. Code Hunt
Игра от Microsoft, в которой вам надо будет на основе входных данных и предполагаемого результата, изменить метод или функцию таким образом, чтобы данные на выходе соответствовали вашим ожиданиям. Подсказок в игре нет, игрок сам принимает решение, как прописать тот или иной функционал. Используемые языки: C# и Java. Задачи различного уровня сложности подойдут как, начинающим так и опытным программистам.
19. Codingame
Игровая платформа, обучающая программистов с помощью многочисленных задач и упражнений, разработанная командой опытных специалистов-кодеров. Здесь проводятся конкурсы и соревнования среди пользователей и даже разыгрываются небольшие призы. Поддерживает более чем 25 языков программирования, один из которых вам необходимо знать на базовом уровне.
20. Code games
CodeGames – это простой и увлекательный способ научиться программировать, работая в команде. Играть в игру с коллегами намного интереснее любого двухчасового семинара. К тому же у вас появится возможность подтянуть недостающие навыки и поднять моральный дух вашей команды. Правда стоит сие удовольствие недешево, но, как утверждают организаторы игр – взамен вы получите более ценный ресурс – знания.
Обучение через игру давно внедрилось в образовательное направление ИТ-индустрии. Новое поколение разработчиков с детства привыкло к видеоиграм, поэтому введение в сферу соревновательно-поощряющей методики оказалось довольно эффективным. Вы сами можете попробовать один из предложенных нами вариантов и оценить рассматриваемый подход к изучению сложных вещей. Ну а если вы не нашли еще ни одной хорошей кодинг-игры в нашем обзоре – добавьте ее в комментариях. Удачи!
Какую обучающую игру для детей вы посоветуете?