тут у вас понамешано проблем в кучу.
что немного не верно:
Цитата:
1. сортировка объектов по глубине (период .5 сек)
2. слежение за x,y-координатами гуляющих Ч для проставления у них свойств col и row (см. Предусловия) (период .5 сек)
|
сортировку я бы вынес в метод рендера , причём проводил бы ёё только если положение сортируемых объектов изменилось (x,y - вернее col,row)
Цитата:
|
Нужно исключить случаи когда путь Ч в один момент времени пересекался бы с путем другого Ч.
|
на самом деле это не самая простая задача - поищите алгоритмы d-star (динамический a*)
можно пойти таким способом:
находим путь от A[0,0] до B[10,10] (массивы клеток) по любому методу поиска пути - я предпочитаю a-star.
в момент движения ( переход из [1,1] в [1,2], например, оцениваем на проходимость клетку [1,2] - если непроходима перестраиваем путь до B c учётом занятой клетки. могут быть проблемы если путь не найден - тогда стоим на месте, но при следующем такте считаем еще раз.