Refactor project structure and enhance AI and simulation components
- Updated project roles to include a new `HSchool.Ai` component, detailing its responsibilities in routing and decision-making. - Revised the `HSchool.Simulation` component to integrate with the new AI functionalities, improving the interaction between simulation and AI. - Expanded documentation to reflect the changes in project roles and the introduction of AI features. - Added tests for the new AI functionalities, ensuring robust pathfinding and decision-making capabilities. - Updated phase documentation to outline the new stages of school life, focusing on presence and behavior.
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# Фаза 20. Нужды и действия
|
||||
|
||||
## Зависимости
|
||||
|
||||
- [Фаза 19](19-presence-screen.md)
|
||||
|
||||
## Зачем
|
||||
|
||||
Нужды перестают быть четырьмя неподвижными полосками, а действия — пустым дефом. Появляется то,
|
||||
из чего фаза 21 будет собирать решения.
|
||||
|
||||
## Задачи
|
||||
|
||||
- [ ] `ActionDef` получает поля: комната, вещь, длительность, восполняемая нужда и величина,
|
||||
роли, вес досуга
|
||||
- [ ] Действия в `core`: поесть в столовой, санузел, отдохнуть на перемене, пообщаться,
|
||||
прогуляться по коридору и по двору
|
||||
- [ ] Деф правил поведения — как `StaffingDef` у штата: пороги нужд, скорость обучения на уроке,
|
||||
разброс запаса на дорогу, порог переключения решения
|
||||
- [ ] Декей нужд включается в `core`. Сон восстанавливается вне школы, а не действием
|
||||
- [ ] Действие занимает вещь на время: за один стол не садятся вдвоём
|
||||
- [ ] Выполнение действия: начало, отсчёт минут, восполнение нужды по завершении. Правила — в
|
||||
`HSchool.Ai`, компоненты и мир — в `HSchool.Simulation`
|
||||
- [ ] Валидатор дефов ловит действие без комнаты, с неизвестной нуждой и с неизвестной вещью
|
||||
- [ ] Карточка человека показывает, что он делает; полоски нужд начинают шевелиться
|
||||
|
||||
## Тесты, без которых фаза не закрыта
|
||||
|
||||
- [ ] Голод падает за игровой час ровно на `decayPerHour`
|
||||
- [ ] Обед в столовой поднимает голод на заявленную величину и занимает заявленное время
|
||||
- [ ] Столов меньше, чем желающих: лишние не начинают действие, а не садятся сквозь друг друга
|
||||
- [ ] Ночь вне школы возвращает сон к максимуму
|
||||
- [ ] Действие с неизвестной нуждой роняет загрузку каталога с внятной ошибкой
|
||||
- [ ] Те же входы дают те же значения нужд на тот же момент
|
||||
|
||||
## Критерий готовности
|
||||
|
||||
- `dotnet test` и `npm test` проходят
|
||||
- В карточке за игровой день видно, как нужды опускаются, а после столовой — поднимаются
|
||||
|
||||
## Стоп
|
||||
|
||||
Не подключать выбор действия — люди пока ходят только по обязанности. Не трогать оценки и
|
||||
успеваемость.
|
||||
Reference in New Issue
Block a user