Тест по Московскому метро — Леонид Мотовских

Леонид МотовскихПодписаться в Телеграме Все теги

Тест по Московскому метро

Метро — это кайф, я это понял сразу после переезда в Москву. В вагонах тогда еще висела старая схема, а станций было немного — я даже смог выучить карту наизусть.

Но метро продолжало расширяться, и поддерживать карту в памяти становилось все сложнее. Запуск второго кольца с кучей новых станций намекнул, что придется делать тест.

А когда волонтеры стали присылать свои версии теста по метро, стало понятно, если не использовать официальную карту — тест лучше не делать вовсе. Потребовалось несколько заходов, но встречайте: тест по Московскому метрополитену.

Тест получился рекордно сложным: 295 вопросов! Почти на сотню больше, чем у прошлого рекордсмена, карты мира — там вопросов всего 198.

А теперь расскажу, как создавался тест

Работа потребовала предельной внимательности: первым испытанием стало нанесение кликабельных областей на карту. В простых случаях это кружочек, но есть и исключения.

Близко расположенные Лермонтовский проспект и Косино пересекаются, приходится еле заметно деформировать кружок:

Косино и Лермонтовский проспект

Тимирязевская объединяет метро, диаметр и монорельс — это одна станция, а ВДНХ и Выставочный центр называются по-разному — приходится разделять:

Тимирязевская ВДНХ

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

Прямоугольники для замазывания

Схема получается уродлива и дырява до безобразия, да еще и станции в пригородной зоне вообще лежат на голубом фоне. Новая проблема возникает с «подвисшими» обозначениями вокзалов и автобусных станций.

Замазки в тесте

Прошу помощи у брата: пока я пишу код закраски, он отдельно обработает станции, которые не закрасить белым. Для этого из исходной карты вырезаем кусочек с названием станции, а после отгадывания приклеиваем его на карту, выписав координаты станции на схеме.

После 3 станций открывается очевидное: даже если вырезать все сложные станции, то выписать их координаты вручную — слишком долго и рутинно. Брат предлагает следующий план: наложить 295 прозрачных схем размера друг на друга — по одной на каждую станцию.

Возникает две проблемы: размер 295 изображений переваливает за 17 мегабайт, а библиотека для отрисовки теста намертво вешает браузер. Попытка прибить изображения через тег <img> тоже не приносит успехов. В такой тест не поиграешь!

В такой тест не поиграешь И в такой тоже

Чтобы не вырезать 295 станций вручную, пишу скрипт по вырезанию станций. Рецепт примерно тот же, что и у Марвела — зеленый фон.

Отмечаю участки на схеме бешеным зеленым, скрипт обнаруживает эти участки и сохраняет их в отдельный файл. Приятный бонус: сразу записываются координаты изображения. Минус две рутинные задачи!

Зеленая карта Вот они все

Снова проблема: скрипт криво нарезает Александровский сад и Площадь Революции. Подписи находятся очень близко друг к другу, в прямоугольник не поместишь. Делаем для исключений отдельный цвет и отдельную функцию по обработке.

Цвет исключения — розовый Цвет исключения — желтый

Обнаруживаем еще одну проблему: если карту приравнять к размеру экрана, на среднем ноутбуке масштаб превращает все надписи в нечитаемые. Дополняем стиль теста, чтобы появилась прокрутка.

Ничего не видно

* * *

Пока мы с братом все это делаем, Метрополитен радостно объявляет об одновременном запуске 10 новых станций. Для нас это означает обновление схемы, значит, ручную разметку придется делать заново.

Ждём около месяца, но Студия Лебедева не обновляет векторный файл карты. Принимаем решение выпустить тест на старой схеме, а станции отметить как уже построенные.

Помимо этого улица Новаторов переименовывается в Новаторскую, а Кубанская — в Люблино. Самая большая подстава ждёт с Мнёвниками: Карамышево теперь Мнёвники, а Мнёвники теперь — Народное Ополчение.

Мнёвники

Московские названия станций принято ругать за две Арбатские и Смоленские. После сотни прогонов теста обнаруживаются более прекрасные друзья тестера:

Стрешнево, рядом Покровское-Стрешнево. Просто Покровское затесалось на самом юге второго диаметра.

Добавлено 19 мая, спасибо комментаторам: Покровское-Стрешнево закрыли в пользу Щукинской, но название осталось.

Стрешнево Покровское-Стрешнево

Станция Краснопресненская «принадлежит» кольцу, хотя фиолетовая линия называется Таганско-Краснопресненской, а не Таганско-Баррикадной.

Таганско-Баррикадная?

Между Выставочной и Выставочным центром нет ничего общего.

Выставочная Выставочный центр

Но золотую медаль по суматохе получает МЦК. Деловой центр МЦК находится на МЦК, но это не просто Деловой центр:

Деловые центры

С Измайлово доступна пересадка на Партизанскую, а не на Измайловскую:

Измайлово

С Хорошевской можно перейти на Хорошёво, но называются они по-разному:

Хорошёво

Сначала я думал, что это специально — если станции между собой не связаны, их называют чуть-чуть по-разному. Но тогда Хорошёво тоже должно было называться Хорошёвской.

И тут обнаружился туз в мире королей: Кубанскую переименовали в Люблино. Теперь помимо двух Арбатских и Смоленских есть два Люблина — и опять без пересадки:

Люблино

С нетерпением ждём открытия новых станций и обновления схемы!

Заметили еще какие-нибудь странности? Пишите на почту или автоответчик.

3 комментария

Метрострой 10 мая

Станция Тестовская теперь посвящена вам :-)

Собянин 10 мая

Можно немного обыграть закрытие Покровского-Стрешнева, в том же месте на карте теперь Щукинская, на один вопрос станет даже меньше :)

Леонид Мотовских 19 мая

Cпасибо за бдительность, Сергей Семёнович! Удалил Покровское-Стрешнево с карты :-)

Ваш комментарий