Очередной трицератопс врезался в корпус, и в этот раз он треснул. Я услышал шум вытекающей из водяного бака воды у нас под ногами. Держу пари, они такого не ожидали.
Я решил начать с немного меньшего значения, чем догадка Кликса. Set Time‑unit = 3.000 s. Goto Send…
Корабль снова содрогнулся под ударом трицератопса.
— Брэнди, ты не мог бы поторопиться?
— Хочешь попробовать сам?
— Прости, — он отступил.
Рога уже проткнули корпус во многих местах и существенного его ослабили. Через бронестекло я видел, как трицератопс вразвалку удаляется от корабля.
Я напечатал последнюю строчку программы и запустил компиляцию. Одно, два, три сообщения об ошибке вспыхнули на экране, указав номер ошибочной строки. «Ожидается логическое выражение». «Несовпадение типа». «Зарезервированное слово». Чёрт!
— В чём дело? — спросил Кликс.
— Ошибки компиляции. Где-то напортачил.
— Ты хотел…
— Заткнись и дай мне их исправить. Пожалуйста. — Я переключился в режим редактирования и перешёл к первой ошибке. Ага, первая проблемка совсем простая — опечатка, «adn» вместо «and»; вот что значит отключать автокоррекцию. Я исправил ошибку.
Хр-р-р-рясь!
Меня качнуло. Пахицефалозавр ударил головой в многократно пробитый рогами участок корпуса. Теперь стало ясно, что делал хет в том головаче, которого мы препарировали — оценивал перспективы использования его в качестве тарана. Повезло им, применение тарану нашлось почти сразу.
— Он почти пробил, — крикнул Кликс.
Я щелкнул клавишей, и курсор перескочил к следующей ошибке. «Несовпадение типа». Что бы это значило в данном контексте? А, вижу. Я пытался выполнить математическую операцию над текстовой переменной. Вот дебил.
Полифонический сигнал от паразауролофа-тромбониста разорвал воздух, предположительно давая команду головачу нанести второй удар.
Курсор прыгнул с третьей ошибке. «Зарезервированное слово»? Это означало, что выбранное мной название переменной — FREQUENCY — было запрещено, поскольку использовалось в языке с какими-то другими целями. Назовём её SAVE_ZAD, это уж точно ни с чем не совпадёт. Запуская компиляцию снова, я так сильно ударил по клавише, что корпус палмтопа едва не треснул.
Я не дышал, пока не увидел вспыхнувшее на экране сообщение: «Компиляция завершена успешно. Ошибок не обнаружено».
— Есть! — воскликнул я.
— Здорово! — закричал Кликс. — Запускай!
Я выбрал имя программы в списке и занёс палец над клавишей Enter.
— Нажми кнопку! — зарычал Кликс.
— Я…
— В чём дело?
— Ты знаешь, что сейчас произойдёт? — сказал я. — Потому что я не уверен, что могу…
— Если не нажмёшь ты, я сделаю это за тебя.
Я посмотрел ему прямо в глаза.
— Нет, — сказал я. — Отказ принимать решение — это само по себе решение. — Я вдавил кнопку, и радиостанция начала передачу.
Хр-р-р-рясь! Череп пахицефалозавра с синими и жёлтыми отметинами на макушке вбил ослабленную секцию корпуса внутрь. Круглый кусок металла метра полтора в диаметре свалился на пол с оглушающим грохотом. Прежде чем мы успели среагировать, костеголовый исчез, и в дыру просунулась голова трицератопса. Кликс вскинул ружьё. У этого динозавра был лишь один надглазный рог; второй, должно быть, обломался во время атак на корабль. Одним слитным движением Кликс упал на пол и снизу вверх выстрелил в мягкие ткани нижней части трицератопсова горла. Удачный выстрел: похоже, пуля перебила-таки спинной мозг.
Через рваную дыру в корпусе мы могли видеть двух других трицератопсов, пытающихся отодвинуть труп в сторону. Кликс стрелял и стрелял, но они не повторяли ошибок своего собрата — головы пригибали к земле, защищаясь костяными воротниками. В короткое время путь был расчищен, и в поле зрения появился отряд троодонов. Они дождались, пока Кликс начнёт перезаряжать ружьё, и бросились в атаку — чешуйчатый вал зубов и когтей, неостановимо катящийся на нас.
Кликс попытался подняться на ноги, но вместо этого шлёпнулся обратно на пол. Мой желудок, казалось, провалился куда-то в район ботинок. Ближайший из троодонов упал на брюхо, двое других повисли на зазубренных краях дыры в корпусе «Стернбергера», остальные неуклюже отступили на грязевую равнину. Чувствуя себя так, словно весил миллион кило, я побежал, как в замедленном кино, к дыре и выглянул наружу, перегнувшись через тела троодонов. Наверху в небе величественный кецалькоатль, закладывающий широкий вираж, смялся, как бумажная фигурка и камнем рухнул на землю. Рядом двенадцатиметровая шея зауропода с громовым грохотом грянулась оземь. Тираннозавры некоторое время держались, а потом один за другим попадали на колени — кости ног подломились под увеличившимся весом. Земля вибрировала и сотрясалась под моими ногами по мере того, как сила тяжести возвращалась к полновесному g. Внезапно грязевая равнина пошла волнами, словно Такомский мост; в воздух поднялись тучи пыли.
Я отошёл от дыры и улёгся на живот рядом с Кликсом. Землетрясение продолжалось, гром бил по ушам, от подъёмов и опусканий земли крутило в животе. Ветер хлестал изо всех отверстий в корпусе «Стернбергера». Постоянно сверкали молнии, но раскаты грома были почти не слышны, заглушаемые другими шумами, в том числе какофонией голосов животных.
Земля вздрагивала, поднималась и опускалась…
Полагаю, что по всей Земле возникали разломы, из которых выплёскивалась раскалённая магма, богатая иридием, мышьяком и сурьмой. Расплавленный камень зажигал бесчисленные лесные пожары и кипятил воду в океанах. Кое-где земля выбрасывала облака ядовитых газов, и огромные цунами накатывали на берега, заливая солёной водой пресноводные мелководья и уничтожая прибрежные экосистемы. Земля под новообретённым весом слегка сжалась, и это давление сформировало ударный кварц и микроалмазы — два любимых доказательства астероидной теории в среде её сторонников.