Паттерн «Состояние»
Одна сущность, разные режимы поведения.
Hook
Игрок в режиме Survival и в режиме Creative — будто два разных персонажа. Но это один объект с разным состоянием.
Concept
Термины: list, dictionary, loop, function — пишем по-английски, объясняем по-русски.
Паттерн «Состояние» позволяет переключать поведение объекта через текущее состояние.
Пример состояний игры:
- lobby
- playing
- paused
- game_over
Переходы важны не меньше самих состояний: что может происходить и в каком порядке.
Практика
Задание 1: укажи начальное состояние игры и следующее после старта.
state = "lobby"
if state == "lobby":
state = "playing"
Заполни пропуски в коде в своей тетради/редакторе. Ключевые ответы: lobby/playing.
Задание 2: заполни состояние паузы.
if command == "pause":
state = "paused"
Проверь себя: paused.
Сборка: мини-проект
Сделай state machine для моба: idle → patrol → chase → attack → idle. Добавь условия переходов.
Комбинируем текущую тему с предыдущими навыками.
Reflection
Теперь ты управляешь сложным поведением через конечный автомат, а не через хаотичный набор if. Это делает код предсказуемым.