A* 알고리즘은 게임 프로그래밍 해본 사람이라면 꽤나 많이 들어본 길찾기 알고리즘일것이라고 생각한다. 좌표를 이용해서 탐색할 수 있기도 해서 그런건 아닐까. 구현하기도 많이 어려운것도 아니고. 알고리즘에 대한 자세한 설명은 다른 블로그에서도 많이 하니까 넘기고. 간단히 설명하자면 A* 알고리즘에서는 출발좌표에서 시작해서 주변 좌표마다(8방위, 4방위 마음대로) 평가값을 매기고, 가장 작은 평가값을 가진쪽으로 이동하고, 거기에서 또 주변 좌표의 평가값을 매기고... 를 목표 좌표에 닿을때 까지 하는 알고리즘이다. 평가값을 구하는 평가함수를 A*에선 다음과 같은 함수를 사용한다. g(n)은 출발 좌표부터의 현재까지의 거리(비용) h(n)은 현재 좌표에서의 목적지 까지의 예상 거리(비용) 을 나타낸다. 대부분..