Найти тему
Крот с Нибиру

Развиваем себе «компьютерную» логику…играя в игры. Полезно как детям, так и их родителям.

Здравствуйте!

В продолжение предыдущего поста по теме изучения программирования и важности развития логического мышления, обсудим увлекательный метод повышения своих способностей – игру Human Resource Machine от компании Tomorrow Corporation. Данный пост не является рекламой, мне действительно нравится данная игра и я ее рекомендую всем, кто хочет развить свои навыки программирования.

Главное меню игры Human Resource Machine 2015 года
Главное меню игры Human Resource Machine 2015 года

Игра на удивление тривиальна – надо выполнять миссии, сложность которых растет от уровня к уровню, путем программирования действий своего подопечного. Вам не надо знать никакого «питона» или «си-плюс-плюс» - достаточно просто понимать логику действий и задать ее с помощью команд на уровне «возьми слева» и «кинь направо».

Решение очередного уровня игры (задача из всех кубов отправить направо только нули)
Решение очередного уровня игры (задача из всех кубов отправить направо только нули)

С ростом уровня вам станут доступны условия («делай это, если…»), циклы (повторение действий до выполнения какого-то условия) и т. п. Для перфекционистов есть возможность не просто пройти каждый уровень, но и сделать оптимально: либо использовав минимум команд, либо создав алгоритм, выполняющий задание за минимальное время.

Кстати, достаточно неочевидным для многих является то, что порой невозможно получить решение, которое будет оптимальным по обоим критериям одновременно. Пытаясь получить как одно, так и другое решение, вы учитесь не просто решать поставленные задачи, но и находить альтернативные решения. Это очень важно: в современном мире часто нужны решения, которые потребляют меньше компьютерной памяти, а где-то ресурсы практически безграничны, а важна лишь скорость.

Те самые дополнительные условия по отпимизации
Те самые дополнительные условия по отпимизации

Я с удовольствием проводил по часу в день, разминая мозги данной игрой. Не так трудно найти решение (в игре нет поистине трудных задач), как оптимизировать его. Порой ты написал решение в 9 строк, а оптимальным является 8 – ломаешь голову час, пытаясь понять, какая команда лишняя, ведь вроде бы все важны, сдаешься и ложишься спать… А потом подрываешься посреди ночи, и с криком «Эврика!» бежишь протестировать озарившую тебя идею пока она еще не забылась…

В следующем посте поговорим еще об одной игре, которую я настоятельно рекомендую всем своим друзьям, а также об одном бесплатном(!) курсе, который может оказаться полезным подспорьем на пути к олимпу бытового программирования. Подпишитесь, чтобы не потеряться!