В детстве мы постигаем премудрости жизни через игру. Это важнейший элемент развития личности, социальных навыков, получения знаний об окружающем мире. Игры — хороший «контейнер» для донесения и закрепления каких-либо знаний. Яркий пример — игры, в которых нужно писать код. Наверняка все вы о них слышали, а в некоторые даже играли. Их первичная задача — развлечь людей, уже владеющих навыками программирования, но они могут использоваться и для обучения. Эти игры помогут освежить свои знания по тому или иному языку, отвлечься и заняться более простой алгоритмической задачей.
Grid Garden
http://cssgridgarden.com/
Язык: CSS
В этой незатейливой игре с несколько инфантильным интерфейсом нужно с помощью CSS-кода поливать полезные растения в огородике. Доступно 28 несложных для прохождения уровней.
Elevator Saga
http://play.elevatorsaga.com/
Язык: JavaScript
Если вы мечтали создавать алгоритмы для лифтов (а в реальности это весьма интересная и сложная алгоритмическая задача), то Elevator Saga — отличная песочница. Здесь абстрактно представлено здание из нескольких этажей и лифты, перевозящие людей. Нужно запрограммировать движение лифтов так, чтобы перевезти определённое количество пассажиров за указанный срок. По мере прохождения уровней увеличивается этажность и поголовье лифтов, а условия становятся строже.
CheckIO
https://checkio.org/
Язык: JavaScript, Python
Наверное, эта игра всё же ближе к обучающим, но и «уже обученным» программистам она тоже будет интересна. К тому же здесь очень приятная графика. С помощью кода нужно исследовать острова и решать различные задачи.
CodinGame
https://www.codingame.com/
Язык: C, С#, C++, Java, JavaScript, Python, Python 3, Bash, Clojure, Dart, F#, Go, Groovy, Haskell, Lua, Objective-C, OCaml, Pascal, Perl, PHP, Ruby, Rust, Scala, Swift, Swift 3, VB.NET
Здесь нужно программировать свою систему обороны для уничтожения врагов. Но не просто так, а с соблюдением определённых условий.
CodeWars
https://www.codewars.com/
Язык: Clojure, C, C++, C#, Crystal, Dart, Elixir, F#, Go, Haskell, Java, JavaScript, PHP, Python, Ruby, Rust, Shell, SQL, Swift, TypeScript
Настоящая игра для фанатов текстовых квестов. Вам даётся описание всевозможных задач с какими-то сюжетами, которые нужно решать в коде.
CSS Diner
https://flukeout.github.io/
Язык: CSS
Простенькая игра, позволяющая освоить (или освежить) азы CSS.
Untrusted
https://alexnisnevich.github.io/untrusted/
Язык: JavaScript
Приключенческая игра с олдскульной символьной графикой. Вам даются текстовые задания, которые нужно решить — внимание! — с помощью кода на JavaScript. Как неожиданно!
CodeHunt
https://www.codehunt.com/
Язык: C#, Java
Игрой это можно назвать весьма условно. Вам предлагается кусочек кода, нужно найти в нём ошибку и исправить. Большая круглая кнопка посередине вверху запускает проверку.
CodeCombat
https://codecombat.com/
Язык: Python, Java, CoffeeScript, Lua
В принципе, это игра больше обучающая, но пойдёт и знающим программистам. Сделана она в стиле RPG, с помощью кода нужно управлять персонажем и достигать поставленных целей.
Screeps
https://screeps.com/
Язык: JavaScript
ММО-игра, в которой нужно программировать ИИ своих абстрактных юнитов. Нужно строить базу, добывать ресурсы, управлять территорией, экономикой, производством, транспортировкой и так далее. Чем лучше ваши скрипты, тем лучше идёт игра. Причём ваше хозяйство работает круглосуточно, даже если вы в оффлайне.
TIS-100
http://www.zachtronics.com/tis-100/
Язык: ассемблер
Это игра с открытой концовкой. В ней нужно переписывать испорченные куски кода на ассемблере, чтобы восстановить TIS-100 и раскрыть его секреты.
Знаете другие игры для программистов? Кидайте ссылки в комменты.