Лифтовая Сага: Код вместо кнопок
Большинство игр про управление просят вас нажать кнопку. Лифтовая Сага просит написать программу. Вы получаете здание с этажами, несколько лифтов и бесконечный поток человечков, которым срочно куда-то надо. Кнопок у вас нет — есть редактор JavaScript и две функции: init и update.

Задача звучит обманчиво просто
Перевезите 15 человек. Потом — перевезите 20 за 60 секунд. Потом — чтобы максимальное ожидание не превысило 10 секунд. Потом — чтобы лифты сделали не больше N перемещений. Всего 20 заданий, и каждое следующее бьёт именно в то место, где ваш алгоритм был «ну примерно нормальным».
Первое задание проходится кодом из трёх строк: «ехать на первый нажатый этаж». Пятое — уже нет. Выясняется, что лифт разворачивается посреди пути, потому что кто-то нажал кнопку позади, что пассажиры не садятся в лифт, идущий не в их сторону, и что три лифта без координации работают хуже одного вменяемого.
Чем это полезно, кроме удовольствия
Это редкий случай, когда головоломка честно учит двум вещам: читать состояние системы перед действием и не оптимизировать раньше времени. Сначала вы пишете тупейший алгоритм, смотрите, где он ломается, и только потом добавляете условие. Именно так пишут рабочий код, просто обычно за это не дают очков.
Плюс игра полностью двуязычная: интерфейс, условия заданий и документация переключаются на русский и английский — можно решать на том языке, на котором думаете.
Та же задача, другая ручка
Сосед по цеху — светофоры. В Зелёной волне поток машин тоже нужно провести без остановок, но кода там нет: вы крутите длину цикла и доли зелёного, пока фазы не сойдутся. Навык противоположный — побеждает тот, кто чувствует ритм перекрёстков, а не тот, кто аккуратно назвал переменные.
Если хочется такой же возни с ограниченным ресурсом, только без редактора, включите оборону с электросетью. Четыре башни, каждая требует питания, сеть валится от перегруза, а волн ровно десять. Двадцати заданий там нет, зато каждое решение видно сразу.
И отдельный тест на характер: Стратегия Аутс: Колесо Судьбы строит прогресс на жребии. Ваш алгоритм не решает там ничего. Полезно проверить, насколько это раздражает.
С чего начать
- Откройте первое задание и нажмите
Apply, даже не меняя код. Посмотрите, как лифты тупят. - Добавьте в
updateпроверкуelevator.getPressedFloors()— это уже пройдет первые задания. - Когда упрётесь в ожидание, зайдите во вкладку «Документация»: там список всех методов с примерами, включая события
passing_floorиstopped_at_floor. - Не бойтесь
Reset: исходный код задания всегда можно вернуть.