Oto sytuacja.
Mam sześciokątną planszę i jednostkę na niej o wartości prędkości lub ruchu 4. Różny teren ma inne koszty. Kiedy kliknę na jednostkę, gra powinna pokazać mi zakres ruchu.
Moim rozwiązaniem było sprawdzenie każdego heksa w zakresie 4, z wyszukiwaniem ścieżki A *, a jeśli koszt ścieżki był mniejszy niż 4, to ten heks był w zasięgu. Na koniec gra ładnie pokazuje mi zasięg tej jednostki.
Moje pytanie brzmi: czy istnieje inne rozwiązanie do wyszukiwania zasięgu na siatce szesnastkowej lub kwadratowej, ponieważ nawet jeśli jestem naprawdę dumny z tego, co zrobiłem w moim rozwiązaniu, myślę, że to trochę przesadzone? :))
Co sprawia, że zadaję to pytanie? Zauważyłem, że gdy prędkość jednostki wynosi 4, 6 lub nawet 8, czas na zasięg obliczeniowy dla mojego komputera był naprawdę dobry, ale kiedy prędkość wynosiła 10 i więcej, zauważyłem, że muszę poczekać kilka sekund na obliczenie .Cóż w prawdziwych grach raczej nie widzę czegoś takiego, a moje wyszukiwanie A * jest raczej dobrze zoptymalizowane, więc myślę, że moje rozwiązanie jest złe.
Dziękuję za wszelkie odpowiedzi.