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

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

ЭтапВремяЧто делаем
Повторение10 минdef и вызовы
Архитектура дома15 мин4 функции + главная
Координаты15 минplayer.position(), fill
Практика45 минСтроим дом
Итоги5 минРефлексия
Итого90 мин—

1 Повторение: зачем функции в стройке

Дом — сложный объект. Если написать всё в одной функции на 80 строк, ошибку найти трудно. Удобнее:

🧱 Стены

HOLLOW 7×5×7 или свой размер

🏠 Крыша

fill поверх стен, другой блок

🚪 Дверь

replace / place AIR или DOOR

🪟 Окна

GLASS в стене

2 Скелет проекта

Угол дома можно вычислить один раз в build_house() и передать числами X, Y, Z в каждую функцию — или сохранить в переменные, которые видны всем функциям (осторожно с global, на занятии проще передавать параметры).

house_skeleton.py
def build_walls(x, y, z):
    # blocks.fill(..., world(x,y,z), ..., FillOperation.HOLLOW)
    pass

def build_roof(x, y, z):
    pass

def build_door(x, y, z):
    pass

def build_windows(x, y, z):
    pass

def build_house():
    p = player.position()
    x = p.get_value(Axis.X) + 5
    y = p.get_value(Axis.Y)
    z = p.get_value(Axis.Z) + 5
    build_walls(x, y, z)
    build_roof(x, y, z)
    build_door(x, y, z)
    build_windows(x, y, z)
    player.say("Дом готов!")

player.on_chat("dom", build_house)
Подсказка по порядку: сначала стены, потом крыша (выше по Y), потом дверь и окна — чтобы не заложить стекло, которое потом перекроет fill.
Связь с 3.3 и 4.2: те же blocks.fill и координаты — здесь акцент на модульности, а не на ИИ.
🤖
Спроси Алису (по желанию)

Если застрял на fill или HOLLOW — короткий вопрос.

🛠️ Практика: дом из функций

Минимальный размер: 6×4×6 (можно больше). Команда чата — на твой выбор (dom, house…).

Выполнено шагов: 0 из 7
Шаг 1 build_walls

Полый прямоугольник. Блок стен — на выбор (OAK_PLANKS, COBBLESTONE…).

Шаг 2 build_roof

Слой крыши на верхней грани дома (y + высота).

Шаг 3 build_door

Проём 1×2 на передней стене — AIR или блок двери.

Шаг 4 build_windows

Минимум 2 окна из GLASS.

Шаг 5 build_house

Считай угол, вызови 4 функции по порядку.

Шаг 6 Тест

Свой мир, команда в чате, дом рядом с игроком.

Шаг 7 Презентация

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

💭 Рефлексия