|
•(Протестировано) Взаимная блокировка движения в конце хода. - Hruks, 15.06.2010 2:04:32 |
|
|
Есть бага. Если юнит не может доехать до точки в конце хода (а до этого он мог), то конец хода не наступает и найти такой заблокированный юнит довольно сложно.
Воспроизведение: 1. Берём 9 скаутов. 2. Ставим их блоком 3х3 3. Выделяем центрального (он заблокрован остальными со всех сторон) 4. Двигаем его за пределы блока скаутов. Бага - путь прокладывается. Хотя никто из окружающих скаутов не собирается двигаться (не проложен маршрут) и фактически скаут выехать не может. 5. Давим переход хода. Бага 2 - игра подвисает. Ход не переходит. Скаут сигналит и ругается на остальных нерадивых, заблокировавших выезд. Вот только игрок этого не слышит и не видит. Если скауту дать команду Стоп, то конец хода происходит.
Нужно допилить логику проверки маршрута. Стоящие юнмиты должны быть непреодолимой помехой. Движущиеся нужно проверять - могут ли они двигаться в этом ходу (есть запас хода и проложен путь). И даже если могут, не блокируют ли они взаимно друг друга. Если же юнит проехать не может, то даже если у него остался запас хода, то путь у него оставлять, а ход передавать, в надежле, что в след. ход ситуация станет лучше. |
|
| |