🎯 Цели занятия

📋 План занятия

ЭтапВремяЧто делаем
Теория: способы строить20 минАгент, blocks, фигуры
Интерактив10 минЗакрепляем выбор инструмента
Выбор темы5 минОдин проект из 10 вариантов
Творческая практика70 минПлан → код → тест → доработка
Итоги5 минПоказ работ и рефлексия
Итого~110 минНа усмотрение педагога можно сократить теорию

1 Три способа строить в Python

🤖 Через Агента

Робот ходит и ставит блоки. Удобно для дорог, заборов, башен «по шагам».

📍 Через координаты

Команды blocks.place и blocks.fill сразу в точке мира — без ходьбы.

📦 Готовые объёмы

Заполнение куба, «полый» дом, контур — одной командой fill или циклом.

Без функций: мы ещё не проходим def как тему. Запускай код через команду чата — используй готовый шаблон в конце теории (скопируй и вставь свой код с отступом внутрь).

2 Строительство с Агентом

Повторение занятий 2.1–2.2. Агенту нужны блоки в инвентаре.

agent.move(НАПРАВЛЕНИЕ, шаги)
agent.move(FORWARD, 3)
FORWARD, BACK, LEFT, RIGHT, UP, DOWN
agent.turn(LEFT / RIGHT)
agent.turn(RIGHT)
Поворот на 90° — для квадратов и углов
agent.place(НАПРАВЛЕНИЕ)
agent.place(DOWN)
Блок под ногами — дорога; FORWARD — стена перед агентом
agent.destroy(НАПРАВЛЕНИЕ)
agent.destroy(FORWARD)
Убрать лишний блок перед стройкой
agent.teleport(pos, сторона)
agent.teleport(pos(0, 0, 3), NORTH)
Поставить агента рядом с игроком перед стартом
agent_road.py
# Дорога из 8 блоков (вставь внутрь шаблона чата)
for i in range(8):
    agent.place(DOWN)
    agent.move(FORWARD, 1)

3 Блоки по координатам

Из занятия 3.1: абсолютные world(x,y,z) и относительные pos(...), posCamera(...).

blocks.place
blocks.place(GRASS, world(5, 64, 5))
Один блок в точке
blocks.fill
blocks.fill(STONE, world(0,64,0), world(5,68,5), FillOperation.REPLACE)
Заполнить параллелепiped между двумя углами
FillOperation.HOLLOW
blocks.fill(..., FillOperation.HOLLOW)
Только стены — пусто внутри (домик, колодец)
FillOperation.OUTLINE
blocks.fill(..., FillOperation.OUTLINE)
Только рёбра куба — рамка
blocks.replace
blocks.replace(GRASS, STONE, pos(0,-1,0), pos(5,-1,5))
Заменить один тип блока на другой в области
player.position()
positions.add(player.position(), pos(2, 0, 2))
Строить «от игрока», не запоминая X, Y, Z наизусть
platform.py
# Площадка 7×7 под игроком
blocks.fill(
    GRASS,
    pos(-3, -1, -3),
    pos(3, -1, 3),
    FillOperation.REPLACE
)

4 Фигуры: как собрать из кода

ФигураЛучший способИдея
Плоская площадкаblocks.fillОдин слой: Y одинаковый у обоих углов
Куб / комнатаfill + HOLLOWДва угла задают размер; внутри пусто
Линия / дорогаАгент или цикл placefor i in range(N): place + сдвиг
Столб / башняАгент UP + place DOWNЦикл из 5–12 повторений
Квадрат / заборАгент FORWARD + turn4 стороны в цикле range(4)
«Торт» (ярусы)Несколько fillКаждый ярус меньше и выше на 1 блок
Надписьblocks.printТекст из блоков: blocks.print("HI", GOLD_BLOCK, pos(0,2,0), WEST)
Мостfill или цикл placeТонкий прямоугольник в воздухе
hollow_room.py
# Комната 6×4×6 (полый куб) рядом с игроком
blocks.fill(
    COBBLESTONE,
    pos(1, 0, 1),
    pos(6, 4, 6),
    FillOperation.HOLLOW
)
chat_template.py
# === Шаблон: скопируй в редактор, внутрь вставь СВОЙ код ===
# (слово def — служебное, функции разберём позже)

def build():
    player.say("Начинаю строить!")
    # ----- твои циклы и команды здесь -----

player.on_chat("build", build)
⏱️ На 70 минут: выбери тему проще, нарисуй схему на бумаге (вид сверху и сбоку), сначала сделай «скелет», потом укрась. Не строй гигантские fill — для теста хватит 5×5×5.

🔑 Какой инструмент лучше?

Площадка 10×10
Дорога из 15 блоков
Полая комната
Надпись «OK»

5 Выбери тему постройки

Кликни на карточку — одна тема на весь урок. Все варианты рассчитаны на ~70 минут с тестами.

🟩
Площадка-парк
Ровная трава 8×8, по краю 4 «дерева» (столб + листва)
fill + place
★ Легко · ~40–50 мин
🛤️
Дорожка
Агент кладёт 12–15 блоков дороги вперёд
Агент
★ Легко · ~35 мин
🗼
Столб-маяк
Башня 8–10 блоков, сверху факел или блок света
Агент
★ Легко · ~30 мин
🚧
Забор
Квадрат 6×6 из забора: агент идёт по периметру
Агент
★★ Средне · ~50 мин
🏠
Домик
HOLLOW 6×4×6, дырка «дверь» через destroy или пропуск
fill HOLLOW
★★ Средне · ~55 мин
🧊
Куб-арт
Малый куб 5×5×5 из цветного камня или стекла
fill
★ Легко · ~25 мин + украшение
🌉
Мост
Перемычка 2×10×1 в воздухе на высоте Y+2 от игрока
fill или цикл
★★ Средне · ~45 мин
⛲
Колодец
Кольцо 5×5 OUTLINE или HOLLOW высотой 3, внутри вода (если есть блок)
fill
★★ Средне · ~50 мин
🎂
Торт
3 яруса fill: 7×7, 5×5, 3×3, разные «кремовые» блоки
несколько fill
★★ Средне · ~60 мин
✨
Надпись
Имя или «OK» через blocks.print + маленькая площадка под текстом
print + fill
★ Легко · ~40 мин
✅ Твоя тема: —
🤖
Спроси Алису (ИИ-помощник)

Нажми на вопрос — Алиса ответит тебе прямо сейчас!

💬 Нажми на любой вопрос — откроется Алиса с готовым ответом.
💡 Хочешь спросить что-то своё? Открой Алису сам и задай вопрос про постройки в Minecraft.
«Алиса, как построить мост с помощью blocks.fill в Python?»
⚠️ Никогда не отправляй Алисе личные данные (адрес, телефон, пароли) — вопросы обсуждай только с родителями и преподавателем.

🛠️ Практика: строим выбранную тему

Открой редактор кода в Minecraft (клавиша C) и выбери Python. На выполнение — около 70 минут (вместе с тестированием).

Выполнено шагов: 0 из 6
Шаг 1 Тема и план

Выбери карточку выше. Набросай на бумаге размеры и что делает агент, а что — fill/place.

Шаг 2 Шаблон чата

Скопируй шаблон player.on_chat("build", build) из части 4. Проверь: в чате build — появляется сообщение «Начинаю…».

Шаг 3 Основа постройки

Реализуй «скелет» (один fill, один цикл агента или линия place). Сначала без декора.

Шаг 4 Тест в мире

Запусти в своём плоском мире. Если смещено — поправь pos / телепорт агента.

Шаг 5 Детали

Добавь 2–3 детали: факел, другой блок, второй цвет, маленький забор и т.д.

Шаг 6 Показ преподавателю

Расскажи, почему выбрал агента или fill. Покажи работающую команду чата.

📝 Проверь себя

1. Что быстрее для плоской площадки 10×10?

2. FillOperation.HOLLOW делает…

3. Для дороги «шаг за шагом» удобнее…

💭 Рефлексия