Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Jak ulepszyć moją implementację algorytmu A*?

Ostatnio zmodyfikowano 2018-04-05 01:10
Autor Wiadomość
twoxu
Temat założony przez niniejszego użytkownika
» 2018-04-05 01:10:56
Jeżeli mój algorytm działałby jak nadmuchiwany balon, praktycznie cała mapa byłaby sprawdzona, a tak są małe kieszenie nie-sprawdzonego terenu w labiryncie (które na pewno sprawdziłby Breadth First Search), co oznacza że mój algorytm nie jest w tym zakresie upośledzony.

Jak widać w moim kodzie mam dwie metody obliczania A i B (dystansu od celu i od startu) - odległość euklidesowa i manhattańska (Taxicab Distance). Pierwsza oblicza dystans w linii prostej (lot ptaka nad miastem) natomiast druga po krawędziach pikseli (jazda po ulicach). Ostatecznie zdecydowałem się na pierwszą, bo w ten sposób ścieżka jest krótsza i program pracuje marginalnie szybciej, a specyfika mojej gry sprawia że dość częste poruszanie się postaci po ukośnej nie jest problemem.
P-170465
1 2 « 3 »
Poprzednia strona Strona 3 z 3