fix(game): bomb in descending power order, collapse industry on wipe #79
Reference in New Issue
Block a user
Delete Branch "feature/game-bombing-order"
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?
Что
Этап 4 сверки Правил и движка: бомбардировка (
game/rules.txt, «Бомбардировка планет»).ProduceBombingsсортирует атакующие расы по суммарной мощности бомбардировки (по убыванию) вместо случайного обхода map. Порядок влияет на то, чей удар попадёт в отчёт и сколько промышленности успеет перейти в сырьё до полного уничтожения населения. Вынесен общий хелперbombingPower.Industry) обнуляется, а запасы промышленности (Capital) и сырьё (Material) сохраняются для будущего колониста (раньшеFree()сохранял иIndustry).Документация
game/rules.txtуже описывает оба пункта («…начиная с самой большой мощности бомбардировки…» и «Всё сырьё и все запасы промышленности… сохраняются… не остаётся… промышленности на их поддержание») — код приведён в соответствие. Форма отчёта бомбардировки не менялась.Тесты
go test ./game/...зелёный. Новые:TestBombingOrderByPower,TestBombingWipeZeroesIndustry.Per the rules ("Бомбардировка планет"), a planet is bombed from the strongest attacking power downwards, and a planet bombed to extinction keeps its material and capital stockpiles but loses its working industry. ProduceBombings now sorts attacking races by total bombing power (descending) instead of iterating the attacker map in random order, and on a wipe zeroes the planet's industry (Free already keeps capital and material). bombingPower is extracted as a shared helper. The rules already describe both, so no documentation change. Tests: bombing order by power, and industry collapse with capital/material kept on a wipe. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>