Урок 12.5 · Интерфейсы и сайты с нуля · Модуль 12. Праздник на экране · По подписке
Цель урока: Собрать маленькую игру целиком: сцена, подарок в случайном месте, очки, победа и кнопка «Ещё раз».
Нужно знать заранее: Уроки 12.1–12.4
Объяснение
Зачем это нужно:
Три урока модуля дали три приёма: коробка показала кадры анимации, колесо — управляемый поворот, мемори — сборку элементов из данных, хлопушка — создание элементов кодом. По отдельности это упражнения. Игра получается тогда, когда приёмы складываются в правило: нажал — очко, очко — условие, условие — конец партии.
Здесь мы собираем такую игру целиком и проверяем её на телефоне. Это последний шаг модуля и первый настоящий проект, в котором ученик сам решает, что считать победой.
Как это работает:
Сцена — это блок с position: relative и своей высотой. Внутри неё подарок лежит абсолютно, поэтому его место задают left и top, а не порядок в разметке.
Случайное место — это Math.random(), умноженный на свободное место. Свободное место считается честно: ширина сцены минус ширина подарка. Если этого не вычесть, подарок на правом краю уедет за сцену и его будет не поймать.
Состояние игры — две переменные: score (сколько поймано) и GOAL (сколько нужно). Экран показывает их, но решает не экран: код смотрит на число, а текст — только отражение. Поэтому «Очки: 5» на экране и score = 5 — это одно и то же, и подменить одно, не тронув другое, нельзя.
Победа — обычное условие: если очков не меньше GOAL, партия заканчивается. Подарок прячется, появляется сообщение, а кнопка «Ещё раз» обнуляет состояние и начинает заново.
Размер подарка — не меньше 44 px. Это закон Фиттса из модуля 9: по маленькой цели палец промахивается, а на телефоне промах особенно обиден.
Компьютер без страха — Файлы, браузер, пароли, мошенники, документы и деньги в интернете простыми словами. Бесплатно и без оплаты.
Если уже случилось — Деньги ушли с карты, пропала симка, взломали аккаунт, потерялись документы — порядок действий по шагам и куда звонить.
Какой компьютер нужен — Чек-лист по уровням: для учёбы ничего покупать не нужно, для своего проекта — 16 ГБ и SSD, для работы — 32 ГБ. Плюс нейросети и устаревание железа.
Без кода: ставить задачу — Как объяснить задачу программисту и принять работу. Кода нет ни строчки.
Профессии и языки — Кто такие программисты, зачем столько языков и что делать после курса.
Потренироваться
Практикум: задачи из жизни — Та же команда урока — на работе, дома и в документах. 63 задачи с проверкой вывода и без регистрации.
Игры-тренажёры — Найти ошибку в чужом коде, прочитать, что делает программа, и увидеть, что случится, если нажать клавишу.
Симулятор: от задания до сдачи — Пройти путь целиком: папка, терминал, файл, сохранение, запуск, проверка по критерию приёмки. Два сценария и две системы.
Мастерская экрана — Проверить цвета и раскладку страницы: контраст, шаблоны, конструктор.
Колесо фортуны — Одна прокрутка в день: скидка на подписку или дни доступа.
Словари и юмор
Словарь программиста — Слова из уроков и кода: парсинг, функция, хеш, компиляция.
Словарь руководителя — Слова из работы простыми словами: скоуп, дедлайн, MVP, бэклог.
Корявые задачи — Юмор: как ставят задачи и что из этого получается. С моралью.
Сайт, оплата и помощь
Родителям — Возраст, время на уроки, безопасность в сообществе, деньги и результат — что важно знать до оплаты.