Back to Archives
#38199
78

Игра в метро

Когда-то я работал инженером контроля качества. Ну или тестировщиком, если по-простому. Ну и судя по тому, что за каких-то пару лет дорос до начальника отдела, со своей работой справлялся неплохо. Занимался созданием стратегии тестирования, поддержанием уровня качества и решением других, в основном управленческих задач. Хотя мне больше нравилось работать руками с программами. Что будет, если пользователь в качестве даты рождения укажет 31 апреля? Ах, при выборе апреля можно выбрать максимум 30-е число? А если я выберу 31 января, а потом поменяю месяц на апрель? Ага, заглючило! Рисую мысленно звёздочку и оформляю баг-репорт.

Как-то раз набрел в интернете на пасту «игра в лифт». И очень она мне напомнила описание типичного сценария тестирования (test-case на профессиональном жаргоне). Причем вполне логичная — проверять простые сценарии смысла нет, куча народу во всем мире пользуется лифтами, а вот сделать что-то нестандартное, но возможное…

К счастью, я не стал пробовать проверять на себе игру в лифт. К несчастью — я придумал что-то более серьезное. Игру в метро.

Суть игры простая. Нужно выбрать любые 5 станций, а потом прокатиться по метро так так, чтобы побывать на каждой станции ровно два раза и вернуться на начальную станцию (я ездил по самому простому маршруту 1-2-3-4-5-1-3-5-2-4-1), причем на всем маршруте нельзя дважды использовать любой перегон и нельзя пересекать уже пройденную часть пути, даже если линии метрополитена просто пересекаются и не имеют пересадки.

В выбранный день я вооружился картой метро, блокнотом со списком станций и примерными планами. Станции выбрал на кольцевой линии и для начала просто полностью проехал кольцо. Затем пересадки, перегоны, снова пересадки, почти полный круг по недавно открытой Большой кольцевой линии... Наконец последний сегмент был завершен, я в третий раз за день приехал на Боровицкую... Изрядно уставший и с пониманием, что ничего особенного не произошло. К тому моменту было уже весьма поздно, и я направился домой, благо ехать по прямой и всего несколько станций.

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

— Младелйтнт хурхурхуев одл плиции хрхрхр, — невнятно представился один из них.

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

— Пройдемте в опорный пункт для установления личности.

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

— Вы Иванов Николай Иванович, 10.12.1988, прописка ул. Нижняя Дмитровская, дом 47, квартира 81?

Я подтвердил.

— Гражданский рейтинг 3.17, понятно, неблагополучный, значит. Так зачем вы, Николай Иванович, чип свой преступно деактивировали?

— Какой чип?

— Тут я вопросы задаю! — заорал полицейский. — Руку!

— Какую руку? — ответил я в растерянности.

— Ах ты падла!!! — заорал он, вскочив. — У, сука.

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

— Чисто. Зажило уже?

— Нет, у него за сегодня 4 регистрации, 2 у нас и 2 на Красносельской, последняя 4 часа назад. Похоже, чип сдох.

— А такое разве бывает?

— Я не видел ни разу, но, говорят, бывает.

— И что делать с ним? Скотовозку вызывать?

— Нет, не заберут. Состава-то нет. Выпиши по 779-ой форме, ну как тогда, тому придурку, которому руку поездом отрезало, и пусть идет.

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

— Николай Иванович. В течение 24 часов вам следует явиться в любой МФЦ г. Москвы для замены зеленого пропуска. Вот ваш временный пропуск, — полицейский протянул мне бумажку с двухмерным QR-кодом, — срок его действия 1 сутки. Распишитесь здесь о том, что его получили и со статьей 853 УК РФ ознакомлены. Вы свободны. У вас еще остались вопросы?

— Мой телефон? — жалобно спросил я, косясь на сейф.

— Какой телефон? — угрожающе спросил полицейский. — Еще вопросы есть?

Я все понял и, ответив «нет», как можно скорее покинул данное заведение.

Автобусы уже не ходили, и я медленно шел домой пешком. Похоже, мне все-таки удалось сломать метро. Нашел баг на свою голову. Озверевшие менты, грабеж, какие-то чипы, вшитые в руку, зеленый пропуск... Все это походило на кошмарный сон, но синяк и ребра, отдающие болью на каждый вздох, отчетливо подтверждали реальность произошедшего.

Ладно, буду думать об этом завтра.

Я подошел к дому. Но, видимо, сломалось не только метро — хоть наш район никогда не отличался элитарностью или каким-то особым порядком, но пьяница, храпящий прямо на ступенях подъезда, соответствовал скорее обстановке беднейших стран Африки с канала Дискавери, но никак не родной Москвы. Да и дверь в подъезд оказалась железной, будто это вход не в жилой дом, а в тюрьму для смертников. И к тому же запертой.

Пока я раздумывал, что же делать с новым препятствием, из подъезда выбежал какой-то мужик. Его вид чем-то насторожил меня, но последовавший перегарно-табачный шлейф сбил меня с мысли, и я все-таки успел не дать двери захлопнуться и зашел в подъезд, встретивший меня странной смесью запахов — канализации и чего-то резкого, похожего на кошачью мочу. Но откуда в подъезде взяться кошачьей моче? Хотя я уже ничему не удивлялся, даже тому, что лифт не работал. Да и сам подъезд оставлял самое гнетущее впечатление — облупившаяся краска, надписи на стенах, черные пятна на потолке, будто копоти, тусклые лампочки, горевшие далеко не на каждом этаже... Что же у них тут случилось? Нужно все хорошо обдумать. Сейчас доберусь до квартиры, смогу наконец выдохнуть и собраться с мыслями. А вдруг с дверью в квартиру тоже что-то случилось? Я поднялся на свой этаж, сжимая ключ в немного подрагивающей от усталости и стресса руке. Ключ подошел. Немного с опаской я зашел в свою квартиру, включил свет и оглядел прихожую. Н-да, квартира точно моя, знакомые обои и мебель, но вот обстановка... Впрочем, она полностью соответствовала и подъезду, и всему городу — грязный пол, сломанная мебель, какие-то кучи непонятного хлама и кислый запах чего-то протухшего. Вдруг со стороны кухни послышался женский голос:

— Коооль?

— Нина? Ты?

Я не смог удержать изумления. В дверях кухни стояла Нина. С растрепанными волосами, с отеками на лице, с синяком под левым глазом, постаревшая лет на 10 и потолстевшая килограмм на 20, но все-таки она. Та самая девушка, с которой мы, прожив 5 незабываемых лет, расстались. И я, и, уверен, она, мы оба жалели об этом, но нам так и не удалось построить нормальных отношений без обид и эмоциональных качелей, и в итоге мы решили перестать мучить друг друга. И три года назад все-таки разъехались как адекватные взрослые люди.

— Ты чего вернулся?

— Что?

— Ты вернулся? Взял уже?

— Что взял?

— Выпить взял? Ах ты скотина, алкаш, мозг весь пропил уже, я на тебя, скот, лучшие годы потратила, а тебе даже сходить до ларька лень для меня! — набросилась на меня Нина.

— Я сейчас.. сейчас принесу... — попятился я, выскочил за дверь и побрел вниз по лестнице...

Боже, что же с ней стало... Это же Нина... В груди неприятно щемило, а вслед мне сыпались истеричные вопли и мат...

Я медленно спускался вниз по лестнице. И что же теперь делать? Возвращаться в квартиру? К ней? А завтра ехать в этот МФЦ и получать этот самый пропуск с чипом? Ход мыслей прервала закрытая подъездная дверь. А выйти-то как? Я осмотрел дверь — приваренный кусок стального уголка в качестве рукоятки, ничего похожего на замочную скважину или шпингалет.

Снаружи раздались шаги, потом — какое-то копошение, пищащие звуки и трель звонка. А после — искаженный электроникой голос Нины.

— Кто там?

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

Дверь хлопнула, а я остался стоять, не в силах пошевелиться. Да, это точно был я. С недельной щетиной, со шрамом на щеке, явно не в лучшей форме. Но точно я... Это не мир сломался из-за бага. И не я. С помощью бага я вышел за пределы своего мира, out-of-bounds на профессиональном сленге, а проще говоря, своей странной изощренной поездкой на метро я приехал куда-то в другое место. Очень плохое место.

Из подъезда я вышел — нашлась небольшая неприметная кнопка. И из этого проклятого мира — тоже. Дождался утра на лавочке около спящего алкаша, пришел к открытию метро на станцию, предъявил очередному менту временный пропуск и повторил свою игру. Как и много-много раз после этого.

Я научился определять по косвенным признакам, насколько приличный мне попался мир. Если он откровенно недружелюбный — повторял игру еще раз даже не выходя из метро. Если вроде нормальный — выходил в город, ходил к себе домой. Иногда знакомился с самим собой — придумать, что сказать, чтобы я сам себе поверил, не сложно. Иногда задерживался на насколько дней... Но никак не мог найти свой дом.

А сейчас оказался у вас. Вы знаете, тут в целом неплохо, вы зря жалуетесь. До моего настоящего дома не дотягивает, но относительно того, чего я насмотрелся — очень даже неплохо. Я даже устроился работать по профессии, благо мой местный двойник переехал в другую страну и не собирается возвращаться. Освоил это ваше смешное CI/CD, несмотря на очевидную глупость идеи отдавать пользователю не до конца готовое приложение. Но все равно, я бы хотел попасть домой, в родной мир. Но не могу, никак не могу составить маршрут для игры в метро. У вас немного другая схема метро и сначала я думал, что, может, у вас просто не построено достаточно станций, но даже нарисовав на карте любые дополнительные станции, у меня не получается составить подходящий под условия маршрут. Помогите, пожалуйста.