39 lines
1.9 KiB
Markdown
39 lines
1.9 KiB
Markdown
# Фаза 52. Учебник на уроке
|
||
|
||
## Зависимости
|
||
|
||
- [Фаза 48](48-lesson-teacher-present.md)
|
||
- [Фаза 35](../07-inventory/35-appropriateness.md)
|
||
|
||
## Зачем
|
||
|
||
Утренний `RepackBag` уже кладёт учебники сегодняшних предметов в сумку. Урок начинает это
|
||
проверять.
|
||
|
||
## Задачи
|
||
|
||
- [x] Рост урока полный, только если в **сумке** есть экземпляр с `subject` этого предмета
|
||
- [x] Шкафчик и дом не считаются: ученик в кабинете
|
||
- [x] Нет учебника — множитель `BehaviorDef.lessonNoTextbookFactor`, ваниль 0.5
|
||
- [x] Валидатор: число 0–1
|
||
- [x] Лог `lesson-no-textbook` один раз на предмет в сутки; `thingDef` — предмет
|
||
- [x] `docs/protocol.md` — тип лога
|
||
|
||
## Тесты, без которых фаза не закрыта
|
||
|
||
- [x] Учебник математики в сумке → полный рост (при учителе на месте)
|
||
- [x] Тот же учебник в шкафчике или дома → рост как с коэффициентом 0.5
|
||
- [x] Учебник другого предмета в сумке не закрывает этот урок
|
||
- [x] Одна строка лога за сутки на предмет, не по числу тиков
|
||
- [x] Пак без поля — 0.5, каталог не падает
|
||
|
||
## Критерий готовности
|
||
|
||
- Слабая переноска, учебник остался дома — на уроке растут хуже одноклассника с книгой
|
||
- `dotnet test` проходит
|
||
|
||
## Стоп
|
||
|
||
Не заставлять идти за учебником отдельной целью. Не замедлять ходьбу перегрузом. Не тратить
|
||
деньги на замену.
|