Выбрось свои книги: 20 игр, которые научат кодить и не только
Так и до программиста доиграться можно.
Monstera/ Pexels/ Rawpixel/ Macrovector/ Freepik/ Freepik/ Minecraft characters/ Pngfind/ Meery Mary для Skillbox Media
Чтобы освоить азы программирования или новый инструмент, не обязательно штудировать скучные талмуды. Если неправильно выбрать учебник — можно и вовсе разочароваться в ИТ. Куда веселее учиться по играм. Мы сделали большую подборку для тех, кто любит совмещать приятное с приятным. Здесь 20 игр для матёрых программистов, новичков и детей.
- Инди-шедевры для гиков
- Машинное обучение с котиками
- Осваиваем Git
- Осваиваем Vim
- Учим языки программирования
- Оттачиваем мастерство
- Программирование для самых маленьких
Инди-шедевры для гиков
Human Resource Machine
Вы управляете клерком, которому начальник даёт задания. Цель каждой миссии — автоматизировать работу клерка на игровом языке программирования. Строите алгоритм, перетаскиваете блоки inbox, copyfrom, jump и наблюдаете за результатом.
SHENZHEN I/O
Вы — инженер-электронщик в Шэньчжэне, одном из центров китайской хайтек-индустрии. Разрабатывайте электронные схемы и пишите для них код на ассемблере. Можно даже создавать собственные задачи на Lua.
«Работаешь программистом, приходишь уставший домой и с мыслью „наконец-то поиграю“ включаешь симулятор программиста :)».
Комментарий пользователя в Steam
К игре прилагается 50-страничный PDF-мануал, без которого её не пройти. Отличная возможность познакомиться с низкоуровневым программированием — это подтверждают более 2000 крайне положительных отзывов.
7 Billion Humans
Продолжение Human Resource Machine. Вам нужно автоматизировать деятельность толпы офисных работников и решать головоломки. Более 60 уровней, где придётся перетаскивать блоки вроде «взятьИз», «дать», «шаг», «если» — причём так, чтобы клерки идеально выполняли поручения босса.
TIS-100
Ваша задача — переписать повреждённые блоки кода на псевдоассемблере, чтобы починить «интеллектуальную систему». Есть руководство с подробным описанием команд. Игра подойдёт опытным программистам или тем, кто хочет развить логику и грокать алгоритмы.
EXAPUNKS
Ещё одна игра от Zachtronics развивает идеи TIS-100 и SHENZHEN I/O. Сюжет такой: на дворе 1997 год. Вы — хакер и заболели странным недугом. Вы заключили сделку: один взлом — одна доза суперлекарства. Необходимо читать местный журнал TRASH WORLD NEWS, который печатает руководства и секретную информацию, писать вирусы, взламывать банки, университеты, правительство и… самого себя. Если застряли, изучите руководство по командам.
Машинное обучение с котиками
while True: learn ()
Головоломка — симулятор машинного обучения. Вы играете за программиста, который обнаружил, что его кот разбирается в компьютерах лучше него. Правда, котейка не может поделиться знаниями, потому что не говорит. Ваша задача — освоить машинное обучение и написать переводчик с кошачьего на человеческий.
Игровой процесс сводится к тому, что вы переносите данные из левой части экрана в правую. Для этого вы перетаскиваете функциональные блоки, подбираете для них параметры и соединяете между собой. Если что-то не получается, спросите на CatOverflow.
Осваиваем Git
LearnGitBranching
Минималистичная онлайн-обучалка по основам Git. В начале каждого уровня надо изучить теорию и посмотреть демо, а потом — выполнить практические задания. Например, создать ветку bugFix, переключиться на новую ветку командой git checkout bugFix и сделать один коммит. Команды вводят в игровом терминале.
Осваиваем Vim
Vim Adventures
Ты можешь знать сколько угодно языков программирования и видеть Linux насквозь, но какой в этом толк, если ты не умеешь работать в Vim? Игра в стиле ретро для тех, кто хочет стать тру-программистом.
Задача простая: нужно передвигать курсор по лабиринту с помощью кнопок, которые используют в Vim.
Учим языки программирования
CodinGame
Защищайте планету от нашествия инопланетных кораблей с помощью большой лазерной пушки и одного из языков программирования — на ваш выбор. А потом изучайте основы ИИ в многопользовательском режиме и сражайтесь с другими игроками. Тут есть даже испытание Code Golfing, в котором нужно сократить объём программ. У игрового комьюнити довольно живой форум и канал в Discord. Кстати, рекрутеры нередко ищут здесь сотрудников.
Swift Playgrounds
Приложение для iPad и Mac. Решайте головоломки и учите Swift без знаний в программировании. Поначалу нужно писать простые методы вроде moveForward () и collectGem (), чтобы персонаж двигался и собирал предметы. От уровня к уровню задания усложняются.
SQL Murder Mystery
В городке SQL City произошло убийство. Вы — детектив, которому нужно раскрыть дело с помощью команд SQL. Нужно изучить команды и писать правильные запросы к базе данных. Есть руководство для новичков.
CheckiO
Стратегия для тех, кто хочет изучить TypeScript или Python. Нет времени на раскачку. Никаких «Hello, World!». Вас сразу же погружают в ООП и объясняют основные концепции этой парадигмы. Пишите код в браузерном редакторе и стройте военные базы, собирайте армии и решайте головоломки.
The Deadlock Empire
Игра не для новичков. Вам дают программу на С# из двух и более потоков. Нужно найти уязвимости и взломать её. В игре есть руководство на случай «затыков».
Cube Composer
Игра для тех, кто давно хотел попробовать функциональное программирование, но боялся. Расставляйте функции в правильном порядке, чтобы преобразовать цветные кубики в нужный паттерн. Есть разные уровни сложности.
Оттачиваем мастерство
Guess This Code
Викторина, в которой по фрагменту кода нужно узнать язык программирования. За разгаданный фрагмент дают балл. Проверяйте себя, расширяйте кругозор и соревнуйтесь с коллегами.
Codebattle
Соревнование для опытных кодеров. Правила простые: нужно решить задачу быстрее оппонента. Фишка в том, что вы видите в реальном времени, как её решает оппонент. Поддерживает 15 языков программирования.
Программирование для самых маленьких
CodeCombat
Управляйте героями с помощью методов вроде heroMoveDown (), heroMoveRight () и сражайтесь в битвах, достойных Толкиена. Важно написать не только правильный, но и чистый код. У CodeCombat даже есть киберспортивная ИИ-лига, в которой можно потягаться в программировании с реальными соперниками.
Tynker
В зависимости от уровня сложности нужно перетаскивать блоки или писать код вручную. Играйте в Minecraft, выращивайте монстров, сражайтесь с гоблинами и летайте на Марс. У Tynker есть несколько мобильных приложений, среди которых учебный редактор Minecraft.
Code
Портал с огромным количеством коротких курсов и игр для людей разных возрастов и скиллов. Новички и малыши перетаскивают блоки, а более опытные игроки пишут код вручную. Можно написать игру Flappy Bird, потушить пожар с помощью кода в Minecraft и даже создать целую галактику для «Звёздных войн».
Scratch
Scratch создали в MIT для детей и подростков. Программы «собирают» в drag-and-drop-редакторе из логических блоков, среди которых переменные, условия и циклы. Ученики знакомятся с основными концепциями программирования и создают интерактивные истории, игры и мультфильмы.
Учиться кодить по играм здорово. Только на собесе вряд ли расскажешь, что выучил Java или Python, убивая драконов. За глубокими знаниями и боевым опытом приходи в Skillbox.