Карта курса → Модуль 2 → Урок 2.6

Модульность — блоки Redstone

Разбиваем систему на независимые части с понятными интерфейсами.

Модульность — блоки Redstone

🎣 Hook

Один редстоун-механизм легко сломать. Система из отдельных узлов — ремонтируется и расширяется проще.

🧠 Concept

Термины: list, dictionary, loop, function — пишем по-английски, объясняем по-русски.

Модульность = делим проект на компоненты, каждый отвечает за свою задачу.

Принципы:
- одна ответственность на модуль;
- чёткий интерфейс (что принимает/что возвращает);
- минимум скрытых зависимостей.

Так проект растёт без хаоса.

🧩 Квиз +10 XP
Что означает «чистый интерфейс» модуля?
A Красивое оформление кода
B Ясный контракт входов/выходов
C Отсутствие переменных
D Только один файл

🔧 Практика

Задание 1: заполни имя модуля инвентаря и функцию получения предмета.

module = "inventory"
action = "get_item"
print(module, action)

Заполни пропуски в коде в своей тетради/редакторе. Ключевые ответы: inventory/get_item.

Задание 2: укажи модуль логики боя.

systems = ["inventory", "ui", "combat"]
print(systems[2])

Проверь себя: combat.

🧩 Квиз +10 XP
Главный плюс модульности?
A Код всегда короче
B Не нужны тесты
C Проще поддержка и расширение
D Не нужны функции

🏗️ Сборка: мини-проект

Разбей мини-игру на 4 модуля: player, enemies, loot, ui. Для каждого опиши интерфейс из 2-3 функций.

👹 Мини-босс +120 XP

Комбинируем текущую тему с предыдущими навыками.

A Сделать без структуры, потом чинить
B Сначала план, затем реализация и проверка
C Копировать решение без понимания
D Пропустить тесты ради скорости

💭 Reflection

Ты умеешь проектировать код так, чтобы его можно было масштабировать и передавать в команду без боли.