W celu ułatwienia implementacji algorytmu A* można stworzyć następujące zmienne:
• tablicę dwuwymiarową przechowującą wartość funkcji G dla każdego pola, początkowo mogą to być wartości 999:
int G[20][20]
• tablicę dwuwymiarową przechowującą wartości funkcji H dla każdego pola, której wartości są tylko raz wyliczane na starcie programu:
float H[20][20];
• tablicę dwuwymiarową przechowującą wartości funkcji F = G+H dla każdego pola:
float F[20][20];
• tablicę dwuwymiarową przechowującą wartości nt. stanu pola, 0=pole nieodwiedzone, 1=pole na liście otwartej; 2=pole na liście zamkniętej; 3= pole na ścieżce od startu do celu;
5=przeszkoda. Przed startem algorytmu prawie cała tablica (poza polem startowym i przeszkodami) powinna mieć wartości 0 (pole nieodwiedzone):
short pola_typ[20][20]
• tablicę zawierającą informacje nt. rodzica każdego pola. Może ona zwierać, z której strony jest rodzic tego pola (1=z góry, 2=z prawej, 3=z dołu, 4= z lewej) i początkowo zawierać wartość specjalną (na przykład 0) :
short rodzic[20][20];