Мне интересно, могу ли я немного оптимизировать свой код поиска пути, давайте посмотрим на эту карту:
+ - wall, . - free, S - start, F - finish
.S.............
...............
..........+++..
..........+F+..
..........+++..
...............
Человек посмотрит на нее и скажет, что это невозможно, потому что конец окружен ... Но А-звезда ДОЛЖНА проверить все поля, чтобы удостовериться, что дороги нет.Ну, это не проблема с маленькими картами.Но когда у меня есть карта 256x265, проверка всех точек занимает много времени.Я думаю, что я могу прекратить поиск, пока вокруг финиша есть закрытые узлы, я имею в виду:
+ - wall, . - free, S - start, F - finish, X - closed node
.S.............
.........XXXXX.
.........X+++X.
.........X+F+X.
.........X+++X.
.........XXXXX.
И я хочу закончить в этой ситуации (нет входа в "комнату" с финишем).Я подумал проверить h, и хотя ни один из открытых узлов не подходит ближе, чтобы закончить ... Но я не уверен, что все в порядке, может быть, есть какой-нибудь лучший способ?
Спасибо за любые ответы.