Se você é um desenvolvedor de jogos, você pode sempre ter querido implementar A* como um character (ou inimigo) pathfinding. Eu sei que há alguns anos atrás eu queria, mas com meu nível de programação na época eu tinha problemas com os artigos atuais lá fora. Eu queria escrever isso como uma introdução fácil com um exemplo claro de código fonte para A* pathfinding para que qualquer um possa facilmente pegá-lo e usá-lo em seu jogo.
Um aspecto importante de A* é f = g + h. As variáveis f, g e h estão em nossa classe Node e são calculadas toda vez que criamos um novo nó. Rapidamente vou rever o significado dessas variáveis.
F é o custo total do nó.
G é a distância entre o nó atual e o nó inicial.
H é a distância heurística – distância estimada entre o nó atual e o nó final.
Vamos ver um gráfico rápido para ajudar a ilustrar isto.