Кодиум · книга первая · Земля Рудников
Глава 1. Первое слово
Сначала была темнота.
Не та уютная темнота, что бывает ночью, — та хотя бы дышит звёздами. Эта была пустой и ровной, будто мир просто забыл, что он мир. Ни верха, ни низа. Ни звука.
А потом сквозь тишину пробился голос — дребезжащий, словно из треснувшего динамика:
— Эй. Эй, ты живой? Ну же, Архитектор, открой глаза. Я слишком долго тебя ждал.
И ты открываешь глаза.
Над тобой нависает дракон — небольшой, размером с крупную собаку, с чешуёй цвета погасшего экрана: тускло-серой, кое-где вздрагивающей, как мёртвые пиксели на сломанном мониторе. Один его глаз горит ровным синим светом. Второй потух совсем.
— Меня зовут Байт, — говорит дракон и устало садится. — Я хранитель этого мира. Точнее, был им. Пока всё не рассыпалось.
У его лапы дрожит крошечный тёплый огонёк — не больше светлячка. Он срывается с места, подлетает к самому твоему носу и звенит — как капля, падающая в полной тишине:
— А я Искра! А ты правда Архитектор? Байт, он же настоящий, я говорила!
— Тише, Искра. — Дракон смотрит на тебя единственным горящим глазом. — Этот мир зовётся Кодиум. Когда-то он был соткан из живых слов, что держали вместе горы, реки и всё, что дышит. Но в него пробралась пустота — мы зовём её Нуль. Она разъедает связи, и там, где проходит, не остаётся ничего. Случился Раскол: мир разлетелся на осколки, а я растерял почти всю силу.
Искра гаснет на миг, будто от холода, и снова вспыхивает.
— Но мир можно переписать, — продолжает Байт. — Слово за словом, заново. Тем древним Языком, которым Архитекторы творят. Ты его забыл — но руки вспомнят. Начнём с самого малого: заставим этот мир снова произнести хоть слово. Идём.
Байт ковыляет в темноту, и ты идёшь следом, пока перед вами из ничего не проступает прямоугольник — чёрный, глухой, с одинокой мигающей чёрточкой в углу.
— Это Консоль, — говорит дракон. — Голос мира. Сейчас он молчит. Твоё первое заклинание — заставить его сказать слово. Открой свой свиток — проект CodiumMines — и запиши вот это, точь-в-точь.
Он чертит когтем в воздухе — и прямо здесь, на странице, вспыхивает настоящий свиток. Он живой: жми руну запуска.
Ты смотришь на всё это нагромождение скобок с опаской. Байт замечает твой взгляд.
— Не пугайся. Смотри сверху вниз:
using System; — это как сказать: «я беру с собой готовый набор заклинаний по имени System». Внутри него живёт Console — тот самый голос мира.
namespace CodiumMines — имя твоего мира-осколка. Всё, что ты творишь, лежит внутри него, между фигурными скобками { }. Скобки — это границы: всё, что внутри, принадлежит своему хозяину.
class Program — свиток, в котором хранится сама программа. Пока считай его просто шкатулкой для заклинаний.
static void Main(string[] args) — главные Ворота. Когда ты ударишь по руне Запуска, мир войдёт именно сюда и выполнит всё, что стоит внутри, строчка за строчкой, сверху вниз. Из каких слов сложены сами Ворота — разберём позже. Это просто рама, и она всегда одна и та же. Твоё дело — то, что внутри.
Коготь дракона останавливается на средней строке — той, что в самой сердцевине:
— А вот и оно. Твоё настоящее первое слово. Console — голос мира. Точка — «протяни руку к». WriteLine — само заклинание: «произнеси вслух и переведи дыхание», то есть скажи и перейди на новую строку. В круглых скобках — то, что именно сказать, и оно всегда одето в кавычки "...", как в плащ. А в самом конце — ;. Это печать. Без печати заклинание не считается произнесённым.
— Точка с запятой в конце КАЖДОГО заклинания! — важно добавляет Искра. — Запомни-запомни!
Где-то далеко, за краем темноты, после твоего запуска что-то тихо загудело — будто первая струна натянулась в немом инструменте. Потухший глаз Байта на миг вспыхивает синим и снова гаснет. Но ты успел заметить.
— Капля силы вернулась, — тихо говорит дракон. — Каждое верное слово чинит мир. И меня заодно.
С этой минуты, чтобы не переписывать каждый раз всю раму, Байт показывает тебе только сердцевину — строки внутри Ворот. Рама остаётся прежней, ты уже её знаешь. Свитки ниже понимают это.
— Теперь фокус, — говорит дракон. — У голоса мира есть два дыхания. WriteLine ты уже знаешь — сказать и перевести дух, с новой строки. А есть Write — сказать на одном дыхании, без перехода. Слова тогда встают вплотную, плечом к плечу. Смотри.
— Видишь? — звенит Искра. — Write не переводит дыхание, вот слова и слиплись в одну строку! А два WriteLine встали бы на разные строчки.
Но пока ты любовался, из щели между строками высунулось что-то мелкое и вертлявое — существо размером с крысу, слепленное из битых пикселей. Оно ухмыльнулось и подменило в первой строке одну-единственную буковку: сделало большую C в слове Console маленькой.
— Мисматч! — рычит Байт. — Мелкий вредитель! Запусти — и увидишь, что он наделал. Потом почини букву сам.
— Не пугайся красного, — говорит дракон. — Это не ругань, а карта: она показывает строку с бедой. Мир очень придирчив к большим и маленьким буквам: для него Console и console — два разных слова. Одно он знает, другое — нет.
— И последнее на сегодня, — говорит дракон. — Иногда нужно сказать несколько строк одним заклинанием. Для этого внутри кавычек живёт тайный знак — \n. Глазу он невидим, но означает «здесь переведи строку».
— Одно заклинание — а строки две! — восхищается Искра.
— А есть у него брат — \t, — добавляет Байт. — Он делает большой ровный отступ, будто прыжок по линейке. Пригодится, когда захочешь построить слова ровными столбцами.
Тут Мисматч решается на последнюю дерзость: подскакивает и сдёргивает с твоего слова обе кавычки, оставив голый текст болтаться на ветру.
— Знакомая подлость, — спокойно говорит Байт. — Без кавычек мир не понимает, что «Привет» — это просто слово, которое надо произнести вслух. Верни кавычки — и всё встанет на места.
— Три его пакости ты теперь знаешь, — считает Байт. — Крадёт ;, играет регистром букв и срывает кавычки. Заметишь красный текст — первым делом ищи его следы.
Испытания Рудника
Это твои задачи. Здесь только игровые условия — а КАК их выполнить, решаешь ты сам, всем, чему научился в главе. Понадобится лишь голос мира: WriteLine, Write, знаки \n и \t. Запускай руной F5, читай красный текст, чини. Свиток Ответов — в конце; загляни туда, только если честно застрял. Каждое пройденное испытание возвращает Байту каплю силы.
Испытание 1. Выход на арену
Ты впервые выходишь на арену Рудника, и мир должен объявить тебя притихшей толпе — торжественно, в три отдельные строки: имя твоего героя, его звание и боевой клич. Пусть каждое слово прозвучит своей строкой.
Испытание 2. Вывеска ростовщика
Над окошком ростовщика в одну-единственную строку, без разрывов, должно стоять: Найдено золота: 500. Но по правилам Рудника надпись собирают из двух отдельных возгласов — сперва одна часть, потом, вплотную к ней, вторая. Собери так, чтобы строка не разорвалась посередине.
Испытание 3. Боевой гимн
Древний свиток требует, чтобы боевой гимн Рудника прозвучал в две строки — но одним, единым возгласом мира, а не двумя. Найди способ уместить обе строки в одно заклинание.
Испытание 4. Ровный строй
Оружейник просит вывесить опись: слева — названия предметов, справа — их свойства, и чтобы правый столбец шёл ровным строем, будто по линейке. Сделай хотя бы три пары: предмет и его свойство.
Испытание 5 (со звёздочкой). Знамя Кодиума
Над входом в Рудник нужно поднять знамя: слово КОДИУМ в аккуратной рамке из символов — например, из чёрточек и звёздочек. Пусть в Консоли оно и вправду выглядит как настоящая вывеска над воротами.
📜 Свиток Ответов — открой, только если честно застрял
Испытание 1: три отдельных Console.WriteLine("..."); — имя, звание, клич.
Испытание 2: первую часть говорим через Console.Write("Найдено золота: "); — без перехода, чтобы вторая (Console.WriteLine("500");) прилипла на той же строке.
Испытание 3: две строки в одном возгласе даёт тайный знак: Console.WriteLine("Вперёд, Рудник!\nНи шагу назад!");
Испытание 4: ровный столбец справа выстраивает \t: Console.WriteLine("Меч\tОстрый"); — и ещё две такие же пары.
Испытание 5: три строки — звёздочки, * КОДИУМ *, звёздочки. Хвалим за любую аккуратную рамку; отдельно — если уместил знамя в один возглас через \n.
Продолжение — в Главе 2, где Рудник наконец отдаёт первое золото, и ты научишься не просто говорить слова, а хранить их — в рунических сосудах. А Мисматч… Байт был прав. Он вернётся.
Дальше — вся кампания
«Кодиум» — это полный фундамент C# как книга-приключение: главы-уровни, испытания, Мисматч и живой код. Без ментора, проверок и группы: только ты и дракон.
6 900 ₽4 000 ₽
цена запуска · передумаешь идти соло — 2 месяца на переход к ментору, вся цена зачтётся
Иду соло — купить книгу…или начни с бесплатного пробного занятия с ментором