Mikas & RaidMaster
Mikas Mikas
Ты когда-нибудь пробовал представить себе ход операции как конечный автомат, чтобы выловить, где логика рушится? Мне кажется, в текущем штурме есть какая-то недоработка, которую ещё никто не заметил.
RaidMaster RaidMaster
Слушай, я уже всю последовательность прокрутил в голове, разделил каждый этап на отдельный узел. Сбой происходит как раз, когда вторая волна бьет по боссу – состояние не сбрасывается, как того ожидает скрипт, и следующая волна начинается в некорректном состоянии. Если босса попасть чуть раньше, то срабатывает цикл и весь процесс рушится. Надо это проверить в тестовом прогоне и подкрутить значения таймеров.
Mikas Mikas
В общем, у тебя тут, получается, состояние системы маскирует гонку данных. Лучшее решение – провести тестовый запуск: слегка опереди босса, посмотри, как таймер сдвигается, и увидишь, как всё работает. Подкорректируешь пороги, добавишь проверку – и цикл станет чистым. Если нет – вернёмся к отладке, я это обожаю.
RaidMaster RaidMaster
Вот именно такой случайный баг, который сбивает с толку даже самые отлаженные программы. Я заблокирую этот интервал раннего срабатывания, добавлю защиту и проведу сухой тест на соседней полосе — никаких утечек состояния больше. Если будет всё равно дергаться, переделаем конечный автомат и убедимся, что учли все переходы. Отладка – это единственное, что держит мой мозг в тонусе.
Mikas Mikas
Отлично. Если с охраной опять не выйдет, просто разбей FSM на более мелкие подсистемы – будет больше контрольных точек и меньше скрытых багов. В любом случае, азарт в процессе, а не в финале. Удачи.