Манхэттенское расстояние для 8-головоломки на питоне
Я пытаюсь вычислить манхэттенское расстояние для 8-головоломки с помощью A*. Я понимаю, что делаю что-то не так, сравнивая текущие позиции с целью, но не могу точно понять, что делаю неправильно (я новичок в python). Пожалуйста помоги.
def manhattan_distance(self, goal):
dist = 0
x = 0
y = 0
goal = [(0, 0), (1, 0), (2, 0),
(0, 1), (1, 1), (2, 1),
(0, 2), (1, 2), (2, 2)]
for row in range(len(self.board)):
for col in range(len(self.board)):
val = self.board[row][col]
if val != 0:
for x, y in goal:
dist += abs(row - x) + abs(col - y)
return dist
Я не получаю сообщения об ошибке, он просто продолжает поиск по узлам.