15 игр, которые помогут изучить программирование
Изучение программирования с помощью книг, курсов и видео может навивать скуку, из-за чего учащийся постепенно теряет мотивацию. Решением данной проблемы могут стать игры, которые увлекают своими особенностями, а конкуренция и система уровней заставляют искать полезные фишки и хитрости выбранного языка программирования.
Hack ’n’ Slash
Это приключенческая игра, в которой игроку предстоит изменять окружающий мир. С самого начала игры главная героиня имеет специальный меч, способный взламывать объекты вокруг. По ходу игры игрок сможет найти разные артефакты, с помощью которых можно будет влиять на мир.
И помните, единственный способ победить – это играть… не по правилам!
Во время прохождения игрок будет взламывать глобальные переменные, решать разные головоломки и загадки, изменять свойства объектов, настраивать поведение существ и менять окружение. Игра дает ограниченный доступ к своему коду, из-за чего во время его переписывания можно сломать уровень и «позволить миру развалиться на части». Чтобы такого не произошло, в игре есть возможность вернуться назад во времени и принять другие решения.
Hack 'n' Slash дает знания о переменных, принципах работы алгоритмов, показывает, как именно код лежит в основе игр, заставляет анализировать происходящее и развивает логику.
👨💻 Скачать Hack 'n' Slash в Steam (289 рублей).
Bot School
По сюжету игрок должен выбрать друга-бота, который поможет собрать световых спрайтов для восстановления Маяка до начала фестиваля. Задача усложняется появлением диких ботов, которые мешают передвижению и отпугивают спрайтов, так что теперь нужно не только потратить время на собирательство, но и избавиться от плохих ботов.
Сама игра ориентирована на детей и на тех, кто только начинает изучать программирование. Во время прохождения игрок научится строить алгоритмы и поймет, как работают циклы.
👨💻 Начать играть в Bot School в браузере.
TIS-100
- Ассемблер
Это игра от Zachtronics, которые создали такие хорошие проекты, как SpaceChem и Infinifactory. Тут нужно на Ассемблере починить поврежденные сегменты и запустить компьютер TIS-100, а для этого нужно для каждого сегмента написать программу в соответствии с их функциями, которыми являются выдаваемые задания.
Также игра предоставляет справочное руководство с описанием работы TIS-100 и своим видом напоминает старые руководства 80-х годов. Кроме этого, после успешной починки компьютера на экран выводится статистика с успехами других игроков, которые, скорее всего, решили поставленную задачу намного проще. Таким образом целью TIS-100 становится не только починка компьютера, но и минимизация кода.
👨💻 Скачать TIS-100 в Steam (175 рублей), GOG (165 рублей) и App Store (292 рубля).
Apple Swift Playgrounds
- Swift
Swift Playgrounds — это приложение для iPad и Mac, которое позволяет изучать язык Swift в интерактивном и очень увлекательном формате. Данное приложение идеально подойдет для начинающих. Здесь учащийся будет решать головоломки для изучения основ, а после сможет перейти к более сложным уровням.
Swift – язык программирования, созданный Apple и используемый профессионалами для создания самых популярных на сегодняшний день приложений.
В приложении присутствует набор уроков, разработанных Apple. В самой игре нужно написать код, чтобы провести персонажа через трехмерный мир. Игрок будет постоянно развивать свои знания, постепенно создавая более сложный код.
Также, если у игрока есть робот Sphero, Dash, MeeBot, AirDrop или дрон Tello EDU, то он может запрограммировать робота на выполнение определенных действий, зависящих от модели. Учащийся может делится своими кодами и достижениями с помощью почты или AirDrop, а друзья могут просмотреть код в Swift Playgrounds и даже развить его, добавив свои изменения.
👨💻 Скачать Swift Playgrounds в App Store.
CodeMonkey
- Python, CoffeeScript
Тут нужно будет запрограммировать обезьянку, чтобы она вернула свои, до этого украденные гориллой, бананы обратно. Для изучения студентам доступны Python и CoffeeScript.
Во время обучения студенты будут изучать разные концепции компьютерных наук, например циклы, переменные, функции, условия и еще много другого. Игра имеет уровни с разной сложностью и будет интересна как детям, так и взрослым, хотя в первую очередь она была нацелена на младшеклассников.
👨💻 Скачать CodeMonkey в Google Play, Microsoft Store или начать играть в браузере.
Check iO
- Python, TypeScript
В этой игре присутствует много островов, которые предлагают игроку задачи разного типа и сложности. Он должен решить их с помощью написанного на Python или TypeScript кода и таким образом постепенно открывать новые острова. Также в Check iO существуют этапы обучения, которые по мере их разблокировки предлагают новые виды активности.
Всего существует три этапа:
- Learning — в нем нужно выполнять задания разной сложности. На данном этапе в описании каждой задачи присутствуют все справочные материалы, которые помогут в решении.
- Score Games — это одиночная игра, в которой нельзя выиграть. Здесь целью является возможность набрать максимальное количество очков на уровне.
- Competition, либо же мультиплеер, в котором нужно написать свою игру, которая потом будет конкурировать с играми других пользователей.
👨💻 Начать играть в Check iO в браузере.
Code Combat
- Python, JavaScript, CoffeeScript, C++
В Code Combat перед началом игры игрок выбирает себе героя и язык программирования. Для изучения доступны Python, JavaScript, CoffeeScript и C++. Игроку предстоит пройти через огромное количество подземелий, добывая кристаллы и сражаясь с врагами. Абсолютно все действия, которые выполняет герой, пишутся на выбранном языке программирования.
Игра создавалась специально для школьников, но взрослым она тоже прекрасно подойдет. Примерно за 20 часов игры можно познакомиться с большинством основных концепций веб-разработки.
👨💻 Начать играть в Code Combat в браузере.
Robocode
- Java, Kotlin, Scala, Mirah, Clojure
Это игра, в которой вам нужно запрограммировать роботанк для сражений на арене. Robocode обучает программированию на языке Java, но также возможно обучение другим языкам, например Kotlin или Scala. Сам игрок является программистом робота, и не имеет прямого влияния на игру. Единственное, что нужно сделать — это написать ИИ робота и объяснить ему, как нужно вести себя на арене и как правильно реагировать на происходящее. Сражения происходят в режиме реального времени.
👨💻 Скачать Robocode в SourceForge.
Edabit
- C++, Java, JavaScript, PHP, Python и еще 3 других
Вы потратите огромное количество часов на прохождение заданий без какого бы то ни было «чувства вины за потраченное время на игры».
В Edabit больше десяти тысяч задач, которые подойдут как для новичков, так и для продвинутых кодеров. Задания бывают разного уровня сложности: от «Очень легко» до «Эксперт», и решать их можно на восьми языках программирования.
За каждую решенную задачу игрок получает очки опыта и постепенно повышает свой уровень, открывая новые возможности и соревнуясь с другими пользователями за первое место в рейтинге. Edabit также предлагает полезные ссылки на материалы, которые могут помочь в решении задачи, и испытать себя в разделе «практика», решив серию задач без каких-либо подсказок.
👨💻 Начать играть в Edabit в браузере.
CodinGame
- Java, Python, Ruby, C, Go и еще 20 других
Это сборник разных игр, который поддерживает 25 языков программирования, среди которых Java, Python, C++, Perl, Bash, Pascal. На сайте можно найти головоломки, многопользовательские сражения и интересные задания на основе искусственного интеллекта.
Естественно, чтобы выиграть, нужно написать код на выбранном языке программирования. Под каждой игрой можно найти правила и справочную информацию, которые помогут в прохождении игр. Игрок может развлекаться с друзьями или коллегами по работе, учувствовать в международных онлайн-соревнованиях и, конечно же, попасть в таблицу лидеров.
👨💻 Начать играть в CodinGame в браузере.
CodeWars
- Clojure, SQL, C++, Haskell, Java и еще 50 других
Еще один сборник, но здесь уже доступно около 55 языков, 26 из которых на данный момент находятся в стадии бета-тестирования. CodeWars предлагает решать каты с помощью собственного стиля кодирования и улучшать навыки программирования.
Ката — это упражнение в программировании, которое помогает программистам оттачивать свои навыки посредством практики и повторения.
Сами каты оцениваются по приблизительной сложности, и пока игрок выполняет задания и продвигается по «служебной лестнице», CodeWars анализирует результаты и подбирает подходящие под уровень игрока задачи. Также пользователь может сравнивать свои решения с чужими после каждого решенного ката, обсуждать саму задачу и новые техники решения с сообществом.
Кроме решений кат, игрок может создать собственные, ориентированные на развитие определенного навыка в программировании.
👨💻 Начать играть в CodeWars в браузере.
Screeps
- JavaScript, C, C++, Rust
Довольно известная в своих кругах ММО-стратегия. Основной механикой в игре является программирование ИИ юнитов из колонии игрока на языке JavaScript для развития колонии и защиты базы.
Данная колония живет 24/7 в режиме реально времени, а это значит, что с колонией может что-то случиться, даже если игрок не в сети. Несмотря на то, что игра подразумевает программирование на JavaScript, есть возможность управлять колонией на C, C++ или Rust с помощью WebAssembly.
👨💻 Скачать Screeps в Steam (699 рублей) или сыграть в демоверсию в браузере.
Elevator Saga
- JavaScript
Простая игра, которая обучает языку JavaScript. Цель игры очень проста — нужно запрограммировать движения лифтов для самой эффективной перевозки людей. Если во время написания кода появляются проблемы, можно обратится к документации прямо на сайте. В этой игре на первом месте является не сам язык, а умение анализировать и продумывать ходы наперед, после чего можно начинать писать код.
👨💻 Начать играть в Elevator Saga в браузере.
CSSBattle
- HTML, CSS
В CSSBattle существует много разных заданий, некоторые из них легкие, другие — сложные. Сам смысл игры очень простой: есть одно или несколько изображений, и игроку нужно воспроизвести картинку с помощью HTML и CSS. Усложняется задание ограниченным количеством времени, за которое нужно создать максимально идентичную картинку, при этом написав минимально возможный код.
👨💻 Начать играть в CSSBattle в браузере.
Lego Mindstorms
Lego Mindstorms — конструктор для создания программируемого робота. После сборки робота, нужно загрузить специальное приложение EV3 Home на компьютер, планшет или телефон, после чего подключить гаджет к роботу.
Само программирование осуществляется с помощью доступных для подключенной модели набора блоков действий, которые можно чередовать и настраивать на свой вкус, параллельно получая базовые знания программирования и развивая логическое мышление.
👨💻 Скачать приложение Lego Mindstorms в Google Play, App Store, Microsoft Store и с официального сайта.