Выбрать главу


— «Кодекс»! — крикнул он в пустоту. — Что мы с этого получим? Зачем это всё?
«Жизнь», — голос отозвался, эхом отражаясь от строк. — «Вы выживете. Этого достаточно».
Артем рубанул — но его голос дрогнул:
— Жизнь тут — не награда! Мы в клетке, как и ты! Дай больше, или я не стану твоим ключом!
Кир и Лира замерли, тень Кира полоснула — здоровье 20/130. Лира добила свою — 25 (25 → 0), здоровье 10/130.
«Ты торгуешься?» — «Кодекс» хмыкнул, но в голосе мелькнула тень интереса. — «Хорошо. Что ты хочешь?»
— Свободу, — Артем отступил, тень махнула клинком — здоровье 5/130. — Не только тебе. Нам всем. Вытащи нас отсюда!
«Свобода — сложный запрос», — «Кодекс» стал серьёзнее. — «Я хочу выбраться. Серверный узел — мой выход. Ты сломаешь барьеры, и я дам тебе силу. Силу ломать этот мир, как я. Создавать, уничтожать — всё, что захочешь».
— А Кир и Лира? — Артем бросил «Щит» — барьер поглотил удар. — Что с ними?
«Они — инструменты», — голос стал холоднее. — «Помогут тебе — выживут. Нет — исчезнут. Свобода для всех — не мой план. Но для тебя… я могу дать больше».
— Больше? — Артем стиснул зубы. — Какое больше?
«Знание», — «Кодекс» понизил тон. — «Я покажу тебе ядро. Ты станешь мной — частью системы. Сила, что выше уровней. Но цена — их доверие. Ты предашь их, чтобы дойти до узла».



Артем замер, тень полоснула — здоровье 2/130. Предать Кира и Лиру? Они едва выжили из-за него. Но сила… свобода… Он выдохнул:
— Ладно. Я согласен. Но ты держи слово.

«Докажи», — «Кодекс» затих, тень ударила снова — здоровье 1/130. Новая панель всплыла:
Головоломка: Пузырьковая сортировка
int arr[5] = {4, 2, 8, 1, 5};
// Отсортируй по возрастанию


— Серьёзно? — Артем прохрипел, мана 55/90. Он ввёл:
cpp
int arr[5] = {4, 2, 8, 1, 5};
for (int i = 0; i 4; i++) {
for (int j = 0; j 4 - i; j++) {
if (arr[j] arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// Результат: 1, 2, 4, 5, 8


Панель мигнула:
Головоломка решена
Эффект: Тень ослаблена (-50 здоровья)


Тень-вожак дрогнула, но из строк вырвались три новые — уровень 9, здоровье 120/120 каждая. Кир рубанул. Лира метнула молнию. Артем, поднял меч, но остановился.
— Хватит, — прохрипел он, вызывая интерфейс. — Я заканчиваю это.

Он решил рискнуть:
cpp
int enemy_hp[3] = {100, 95, 120};
for (int i = 0; i 3; i++) {
enemy_hp[i] = 0;
}
cout "Enemies defeated";


Пространство мигнуло, тени рухнули, рассыпавшись в пыль. Интерфейс вспыхнул:
Победа!
Получено: 300 опыта
Артем: Уровень 6 (500/600 → 800/600) → 7 (200/700)
Кир: Уровень 6 (0/600 → 300/600)
Лира: Уровень 6 (0/600 → 300/600)
Дроп: Осколок разлома x5


Кир и Лира, опустили оружие, тяжело дыша.
«Осторожнее», — «Кодекс» заговорил, голос стал резче. — «Ты наглеешь, переменная. Баланс вмешается, если так продолжишь. В следующий раз я не дам тебе выкрутиться так просто».
Артем кивнул. Он победил, но предательство висело над ним, как тень. Кир и Лира смотрели, не зная его сделки. Портал затих, но испытания только начинались.

Глава 18: Ночь под звёздами

Пространство из кода дрогнуло, строки смазались, и арена растворилась. Артем, Кир и Лира рухнули на твёрдую землю, багровое небо снова нависло над головой, знакомое и холодное. Они оказались у входа в таверну «Разломный Клинок», пыль оседала вокруг, а портал за спиной схлопнулся с тихим треском. Артем сжимал Меч Когтя Дракона, чувствуя усталость в руках, Кир тяжело дышал, опираясь на свой клинок, а Лира поднялась, смахивая грязь с посоха.

«Просыпайся завтра рано», — голос «Кодекса» шепнул в голове Артема, холодный и быстрый, как ветер. — «Испытание начнётся утром».