Om du är en spelutvecklare har du kanske alltid velat implementera A* för att hitta vägen till en karaktär (eller fiende). Jag vet att jag för ett par år sedan gjorde det, men med min programmeringsnivå på den tiden hade jag problem med de aktuella artiklarna där ute. Jag ville skriva det här som en enkel introduktion med ett tydligt källkodexempel till A* pathfinding så att vem som helst lätt kan plocka upp det och använda det i sitt spel.
En viktig aspekt av A* är f = g + h. Variablerna f, g och h finns i vår Node-klass och beräknas varje gång vi skapar en ny nod. Jag ska snabbt gå igenom vad dessa variabler betyder.
F är nodens totala kostnad.
G är avståndet mellan den aktuella noden och startnoden.
H är det heuristiska – uppskattade avståndet från den aktuella noden till slutnoden.
Låt oss ta en titt på en snabb grafik för att illustrera detta.