Должен признаться, что я плохой программист. Я не люблю настраивать Maven и писать конфигурации для Spring Framework. Я не знаю в деталях, как работает JVM (да и в общих чертах представляю это себе довольно смутно). Я плохо понимаю паттерны проектирования, а любая новая технология вводит меня в уныние. И тем не менее, я люблю программировать.
Специально для таких как я (а может, и для каких-то других) существует небольшой класс игр, представляющих собой квинтэссенцию программирования. В них не нужно скрещивать ежа с ужом и беспокоиться о версиях библиотек. Лишь кристально чистое алгоритмическое программирование, обёрнутое в симпатичный интерфейс — вот моё маленькое счастье.
SpaceChem
Истинная жемчужина жанра, сочетание прекрасной идеи с прекрасной реализацией. Ваш лирический герой — инженер-нанотехнолог, занимающийся проектированием реакторов для сборки-разборки молекул.
Игровой процесс напоминает программирование на языке Befunge: по игровому полю… простите, по реактору перемещаются два манипулятора, направляемые заранее расставленными стрелочками и выполняющие раскиданные по полю инструкции. Манипуляторы хватают поступающие в реактор молекулы, перемещают, поворачивают, расщепляют и собирают вновь, затем отправляют результат на выход. «Зачем всё это?» — спросите вы. Что ж, как раз для вас в игре присутствует неплохой sci-fi сюжет, и даже (sic!) элементы экшна.
The Codex of Alchemical Engineering
Более ранняя игра от того же разработчика, увековеченная во flash. Здесь на смену двум кружочкам-вальдо приходят многочисленные механические клешни а ля Бендер Родригес, а на смену атомам и молекулам — алхимические ингредиенты.
Помимо сложности, игра может похвастаться необычной для флэшевых игр системой сохранений: для созданного вами решения генерируется некий текст, который можно невозбранно скопипастить, чтобы потом (к примеру, на другой машине) совершить обратное преобразование и восстановить решение из текста. Также у неё есть продолжение (или, скорее, левел-пак) — Magnum Opus Challenge, с ещё более суровыми уровнями для тех, кому создание философского камня показалось лёгкой разминкой.
LightBot 1 & 2
Две части флэшевой игры про маленького робота на клетчатом поле. Повинуясь нашим инструкциям, робот ходит, поворачивается, прыгает и в буквальном смысле зажигает, неся свет и добро в самые отдалённые уголки уровня.
Обучающие игры такого плана в своё время были весьма популярны в школьной информатике. С отказом от идеологии «программирование — вторая грамотность» их, к сожалению, вытеснили Ворд и Эксель — впрочем, это уже совсем другая история. Так вот, LightBot отличается от тех игр жёстким ограничением на количество команд: 16 в основной программе, ещё по 8 в двух подпрограммах. Это не даёт программировать спинным мозгом и заставляет подключать головной.
Во второй части, помимо улучшенного интерфейса, появились такие полезные фичи, как ветвление и рекурсия.
Pragmatica
Ещё одна управлялка роботами. Действие этой фриварной игры разворачивается в мрачноватом будущем, полном машин и… машин.
В отличие от игр, перечисленных выше, здесь реализован событийный подход: программируется не поведение робота в целом, а его реакция на определённые раздражители. Кроме того, уникальной фичей является то, что одной и той же программой управляется сразу несколько роботов. Впрочем, на мой вкус игра скучновата, поэтому я и поместил её в самый конец статьи.
Источник https://habr.com/ru/post/168453/