Files
h-school/docs/phases/20-needs-actions.md
T
Leonid Pershin b135a9caad Enhance protocol and simulation features with activity tracking and behavior definitions
- Updated protocol documentation to include new `activity` and `activityLabel` fields in the person card response, reflecting real-time activity status.
- Introduced `BehaviorDef` to define behavior rules, including need thresholds and lesson skill gains, enhancing AI decision-making.
- Revised the `DefCatalog` to incorporate behavior definitions and updated validation logic to ensure proper behavior handling.
- Enhanced the simulation to manage presence and activity states, allowing for more dynamic interactions within the school environment.
- Updated tests to validate the new activity tracking and behavior functionalities, ensuring robust performance and reliability.
- Improved localization strings to support new activity and behavior features, enhancing user experience.
2026-08-19 19:49:44 +03:00

3.1 KiB

Фаза 20. Нужды и действия

Зависимости

Зачем

Нужды перестают быть четырьмя неподвижными полосками, а действия — пустым дефом. Появляется то, из чего фаза 21 будет собирать решения.

Задачи

  • ActionDef получает поля: комната, вещь, длительность, восполняемая нужда и величина, роли, вес досуга
  • Действия в core: поесть в столовой, санузел, отдохнуть на перемене, пообщаться, прогуляться по коридору и по двору
  • Деф правил поведения — как StaffingDef у штата: пороги нужд, скорость обучения на уроке, разброс запаса на дорогу, порог переключения решения
  • Декей нужд включается в core. Сон восстанавливается вне школы, а не действием
  • Действие занимает вещь на время: за один стол не садятся вдвоём
  • Выполнение действия: начало, отсчёт минут, восполнение нужды по завершении. Правила — в HSchool.Ai, компоненты и мир — в HSchool.Simulation
  • Валидатор дефов ловит действие без комнаты, с неизвестной нуждой и с неизвестной вещью
  • Карточка человека показывает, что он делает; полоски нужд начинают шевелиться

Тесты, без которых фаза не закрыта

  • Голод падает за игровой час ровно на decayPerHour
  • Обед в столовой поднимает голод на заявленную величину и занимает заявленное время
  • Столов меньше, чем желающих: лишние не начинают действие, а не садятся сквозь друг друга
  • Ночь вне школы возвращает сон к максимуму
  • Действие с неизвестной нуждой роняет загрузку каталога с внятной ошибкой
  • Те же входы дают те же значения нужд на тот же момент

Критерий готовности

  • dotnet test и npm test проходят
  • В карточке за игровой день видно, как нужды опускаются, а после столовой — поднимаются

Стоп

Не подключать выбор действия — люди пока ходят только по обязанности. Не трогать оценки и успеваемость.