MaxLich, да. Пытался несколько раз реализовать сам - в итоге получилась диские костыли с ужасной архитектурой, поэтому решил воспользоваться готовым решением.
У меня нет слов.. Спасибо большое!
А почему fact должен быть вещественным? Он же принимает целочисленные значения? Или объявляем double потому что разрядность больше?
Евгений Шатунов: Большое спасибо!
С этим, относительно, понятно. А что делать, если на поле препятствия разного типа, которые имеют различные формы передвижения? Ну, например, как фигуры в шахматах. Каким образом в этом случае строить траекторию перемещения?
Евгений Шатунов: В игрушки я давно не играю да и не могу припомнить такой игры, где понадобился бы подобных функционал. Разве что HWM, но там всё намного сложнее. :)
Буду подробно вникать в литературу, хотя с некоторыми алгоритмами знаком. Спасибо!
Игрок - абстракция. Нужно просто построить траекторию перемещения из клетки A в клетку B учитывая, что можно ещё перемещать препятствия(коробки). Перемещение препятствий аналогично передвижению игрока, т.е. пошагово(если соседняя клетка a[x][x] свободна, то перемещаемся на неё). Возможность перемещения препятствий не связана с игроком, т.е. можно передвигать "коробки" хоть на другом конце поля, лишь бы смысл от этого был. Передвигаются препятствия так же в 8-ми направлениях.
В статьях говорится либо о статичных препятствиях, либо передвигающихся по какой-то своей траектории, необходимой для усложнения передвижения юнита. В моем случае необходимо наоборот расставить препятствия таким образом, чтобы была 100% гарантированная траектория достижения юнитом точки B из точки А, при этом сумма перемещений юнита + сумма перемещений препятствий должна быть минимальна.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.