На написание алгоритма внутри функции у меня ушло около 30 минут. И еще час я посвятил проверке. Вроде все верно. Хотя слово “вроде” неуместно, когда речь идет о жизни и смерти. Все верно. Настало время запуска. Я смял руками пустую жестяную банку и бросил на красную клетку, она тут же исчезла, с характерным звуком, превратившись в пыль. Нужно действовать. Прочитав комментарии в начале программы, которые содержали инструкции по запуску, я запустил ее на исполнение.
Результат не заставил себя ждать. Запуск программы привел в движение клетки на поле. Их высота друг относительно друга стала меняться. Так стало понятно, что это на самом деле не клетки, а кубы. Одни стали на полметра возвышаться относительно других, тем самым выстраивая траекторию пути, которая была рассчитана моим алгоритмом. Кубы один за другим меняли свою высоту, все это сопровождалось громким гулом, что только придавало им массивности. Через некоторое время они полностью перестроились. Получилась траектория из кубов, которая возвышалась над остальными и по которой мне и предстояло пройти. И я побежал.
Не знаю, что именно меня заставило перейти на бег. Это был какой-то внутренний порыв, но как оказалось мои чувства мне не изменили. Слегка оглянувшись назад, я заметил, что та часть поля, которую я пробежал, куб за кубом падали стремительно вниз. Я никак не мог понять, падали они только после того, как оказывались позади меня, или скорость, с которой они проваливаются была выше моей, и тогда я просто упаду вниз. И к моему несчастью это был второй вариант. Я бежал так быстро, как только мог, стараясь не потерять равновесие. Несколько раз меня пошатнуло на поворотах, и я чуть не угодил на красный квадрат. Силы заканчивались, а бездна метр за метром подбиралась ко мне. Казалось, сейчас я наступлю на очередной квадрат и упаду вниз вместе с ним. Если я хоть где-то ошибся в расчетах, и моя траектория окажется не самой оптимальной, мне конец. В груди начало невыносимо колоть, дыхание окончательно сбилось. Я продолжал бежать во что бы то ни стало. Так просто я не сдамся. Сколько я пробежал? Мне казалось, что финиш должен быть уже совсем близко, но я его не видел. В глазах начинало темнеть, я закашлял. Еще чуть-чуть, еще совсем чуть-чуть, – мысленно подбадривал я себя. Казалось, что куб, на который я наступаю, тут же проваливался. Это была разница в секунду, стоило мне хотя бы немного замедлиться и меня бы ждала неминуемая гибель.
Когда силы практически были на нуле. А огонек надежды почти погас. Я увидел конец поля, а траектория полностью выпрямилась, мне нужно было бежать только по прямой. У меня открылось второе дыхание. Я бежал что есть сил. Куб продолжали падать почти у меня под ногами. Но меня тревожило другое. Граница, к которой я так стремился оканчивалась обрывом. Я наконец добежал до самого финиша и резко остановился. Бездна, от которой я так яростно убегал теперь была с обоих сторон. Только и успев на самом финише повернуться на 180 градусов, кубы подомной провалились, и я ощутил чувство падения спиной вниз.
Я вздрогнул, как сумасшедший, хватая ртом воздух. Сердце трепыхалось. Открыл глаза и не мог поверить. Я дома. Лежу в своей кровати. В голове еще сцена из моего сна, которая никак не хочет меня отпускать. Но все позади.
P.S. На работу я прибыл вовремя. Чтобы закончить свой сложный проект, мне понадобился всего час. В итоге сдали его заказчику на неделю раньше. Заказчик остался очень доволен полученным результатом. Спустя несколько месяцев, я уволился из компании, в которой работал, потому что получил офер в Google. Как я потом узнал, я прошел собеседование с наивысшим количеством балов за всю историю компании. Но это уже совсем другая история…