fix(game): gate group visibility by visibility range, report battle classes #78
Reference in New Issue
Block a user
Delete Branch "feature/game-visibility-report"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что
Этап 3 сверки Правил и движка: видимость чужих групп/классов в отчёте (
game/rules.txt, «Движение» и разделы отчёта).driveTech*30); за её пределами группа скрыта, даже если она инбаунд (раньше фильтра по дистанции не было).30×(была зона полёта40×); исключены группы, летящие на планеты получателя (они идут во «входящих»); каждая группа выводится один раз (раньше — по записи на каждую планету-владения в радиусе).OtherShipClass— конструкция подтягивается изShipTypesвладельца (в отчёте боя есть только имя класса). Форма отчёта не меняется.Документация
game/rules.txtуже описывает это поведение (30×, «за пределами видимости не показываются», «не направляющиеся на Ваши планеты», «классы… встречены на этом ходу») — код приведён в соответствие.FUNCTIONAL.md/ARCHITECTURE.mdправок не требуют.Тесты
go test ./game/...зелёный. Новые:TestReportIncomingGroupVisibility,TestReportUnidentifiedGroup,TestReportOtherShipClassFromBattle.Замечание (вне объёма этапа)
В
ReportIncomingGroupполе «оставшееся расстояние» считается как источник→назначение (полный путь), а должно быть текущая_позиция→назначение (как корректно делаетOtherGroup). Поведение сохранено; вынесено владельцу отдельным решением.