M.A.X.    Вы вошли как гость
Российский Клуб игроков M.A.X.
 
[Новости]   [Новичку]   [Энциклопедия]   [Документы]   [Файлы]   [Игроки]   [Архивы]   [Архив форума]  
[Новый сайт]   [M.A.X. Gold]   [Партии]  

 
 
 
Архив форума  МаксГолд
[Основной форум] [Голосования] [МаксГолд] [Off-Topic]
 


(Протестировано) Взаимная блокировка движения в конце хода.  -  Hruks,  15.06.2010  2:04:32

Есть бага. Если юнит не может доехать до точки в конце хода (а до этого он мог), то конец хода не наступает и найти такой заблокированный юнит довольно сложно.

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

Нужно допилить логику проверки маршрута. Стоящие юнмиты должны быть непреодолимой помехой. Движущиеся нужно проверять - могут ли они двигаться в этом ходу (есть запас хода и проложен путь). И даже если могут, не блокируют ли они взаимно друг друга.
Если же юнит проехать не может, то даже если у него остался запас хода, то путь у него оставлять, а ход передавать, в надежле, что в след. ход ситуация станет лучше.