JavaRush /Курсы /Claude Code SELF /Собираем игру по ТЗ

Собираем игру по ТЗ

Claude Code SELF
2 уровень , 4 лекция
Открыта

1. Без ТЗ результат ХЗ

«Так стоп, — соображает Тёма. — Если оно так для антоновского лендинга работает, то сработает и для всего остального». Не нужно ждать милостей от природы - взять их у нее - вот наша задача!

Он открывает панель агента и, не продумав ничего, на голом азарте пишет Сане:

— Саня, напиши мне игру 2048.

И ждёт, что Саня сейчас все сделает. Игра-то легче лендинга. Или нет? Но Саня выбрал третий вариант, будто из вредности:

Без ТЗ результат ХЗ.

Тёма даже не поверил сначала:

— Саня, ты серьёзно? Ты же только что лендинг написал. Зачем тебе ТЗ?

— Лендинг я написал по ТЗ, — спокойно отвечает Саня. — Ты его утром с Лёхой собирал, файл TZ_LANDING.md. Я его прочитал и сделал ровно то, что там было. А сейчас ты мне дал два слова и цифру.

— Ну так игра же проще лендинга!

— Прежде чем написать код, нужно написать Техническое Задание.

Тёма даже фыркает:

— Да ладно. Это же игра 2048, все знают, что это такое. Поле, плитки, двигаешь, складываешь. Чего тут описывать?

— «Все знают» — это у тебя в голове, — отвечает Саня. — А в задаче, по которой я работаю, этого нет. Какое поле — 4×4? Откуда берутся новые плитки и когда? Какие сливаются и во что? Когда победа, когда конец? Для тебя «2048» — целая картинка. Для меня — пустое слово, пока не разложено на правила.

Тёма открывает рот возразить — и осекается.

— Да, ладно — говорит он медленно. — Один в один как утром. С лендингом думал — главное собрать страницу, а оказалось — добыть все детали. Сейчас думал — главное назвать игру, а оказалось — разложить на правила.

Вроде и вредничает Саня, а вроде и нет. Тот же урок, только с другого боку: ИИ-агент блестяще пишет код по инструкции и встаёт без неё. «Без ТЗ результат ХЗ» — уже не просто придирка, а правило, по которому тут, похоже, вообще всё устроено.

2. Как рождается техзадание

Делать нечего — Тёма идёт к Лёхе. И на этот раз он уже не растерян, как утром с лендингом. Он понял схему: если надо разложить смысл на части — это к Лёхе.

— Саня требует ТЗ на 2048. Поможешь сформулировать?

Лёха не угадывает правила из воздуха — он их аккуратно проговаривает, по полочкам:

# ТЗ: 2048
ПОЛЕ:      сетка 4×4
ПЛИТКИ:    при старте и после каждого хода появляется новая плитка (2 или 4)
ХОД:       игрок двигает все плитки в одну сторону (вверх/вниз/влево/вправо)
           стрелками клавиатуры или свайпом по полю
СЛИЯНИЕ:   две одинаковые плитки, столкнувшись, сливаются в одну с суммой
ПОБЕДА:    на поле появилась плитка 2048
ПОРАЖЕНИЕ: ходов больше нет — поле забито, слить нечего

— Слушай, это же та же утренняя история, только наоборот, — говорит Тёма. — Утром ты лендинг разбирал на части: продукт, аудитория, блоки, кнопка. Сейчас игру: поле, плитки, слияние, победа, конец. Одно и то же.

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

Тёма смотрит на список — и вдруг видит не одну эту возню, а всю картину разом.

— Что-то такое уже было сегодня, — говорит он. — Саня без детального ТЗ тормозит. Ты раскладываешь хотелку на правила. Я несу инструкции обратно Сане. Три шага — и работает оно одинаково что на антоновском лендинге, что на моей игрушке.

Хорошо, хоть код самому писать не приходится. Это пока магия ИИ-агента, и сегодня Саня с этим отлично справляется. Надеюсь так будет всегда.

1
Задача
Claude code, 2 уровень, 4 лекция
Недоступна
Применение /usage с trace
Применение /usage с trace

3. Игра по готовому ТЗ

Тёма копирует ТЗ и скидывает его обратно Сане — теми же словами, что и на лендинге. Только теперь не простое «хочу игру 2048», а полноценное ТЗ.

— Саня, собери браузерную игру 2048 по правилам: поле 4×4, появление плиток, слияние одинаковых, цель — собрать плитку 2048, экраны победы и поражения. HTML/CSS/JS, без билда.

Жмёт Enter и видит, как Саня начинает работу. Пять минут — и в дереве файлов лежит готовая игра.

Тёма щёлкает по ней правой кнопкой, выбирает Run.

Секунда.

Пустое поле 4×4 — и на нём проступают две плитки. Тёма жмёт стрелку влево: плитки едут, две двойки сталкиваются и сливаются в четвёрку, сверху выскакивает новая. Бежит счёт.

— О-па, — выдыхает он и тыкает ещё. Четвёрки в восьмёрку, восьмёрки в шестнадцать. Всё ровно по тем правилам, что он час назад диктовал Лёхе, — как заказано.

День, похоже, сегодня результативный и очень интересный. А что? Пробную версию лендинга он уже сделал. А финальные данные Антон ещё не принёс. Работа стоит не по его, Темы, вине.

А 2048 под занавес — личный бонус. Он задумчиво смотрит на вкладки. Вчерашний кликер, сегодняшняя 2048. Маленькая, но уже своя полка с победами — рядом с рабочей. Один конвейер, две полки, и сегодня он наполнил обе.

И раз уж полка своя — почему она должна выглядеть как у всех? Плитки в 2048 стандартные, бежево-оранжевые, точь-в-точь как в миллионе таких же игр в интернете.

Тёма ставит себе за день мысленный плюсик и уже примеряет победу: сдаст лендинг с таким лицом, будто корпел всю неделю, словит уважительные взгляды старших коллег, а там, глядишь, и до кальяна в офисе недалеко — давняя мечта.

Он захлопывает крышку, не закончив свою же мысль. А счёт сегодня и впрямь в его пользу: мастерская стала своей, рабочий лендинг поехал в редакторе, а в галерее завелась первая игра, которую он собрал не чудом, а по уму.

1
Опрос
Безопасный workflow Claude Code, 2 уровень, 4 лекция
Недоступен
Безопасный workflow Claude Code
Безопасный workflow Claude Code
Комментарии (4)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Валерия Уровень 5
6 сентября 2026
я вообще не поняла что это за игра и как оно должно работать
Maxim Vasilenko Уровень 3
5 сентября 2026
Какая модель должна быть выбрана при работе через терминал?
Anonymous #3116825 Уровень 3
28 августа 2026
Что за дурацкая ошибка? Ничего руками не выполняю, все делаю через терминал, через claude. Все проверки прохожу кроме этой. В журнале сессии видно, что страницу по ТЗ собрал агент по твоей текстовой постановке, а не написана руками. Добавьте журнал сессии `.javarush/cc-transcript.txt` или `.javarush/cc-transcript.jsonl`, подтверждающий сборку страницы агентом по текстовой постановке.
Anonymous #3116825 Уровень 3
30 августа 2026
Оказалось, нужно было в каждой папке задания отдельно запускать claude. Тогда в каждой задаче будет заполняться свой журнал. Почему то изначально это не было понятно.