Манхэттенское расстояние для 8-головоломки в питоне - PullRequest
1 голос
/ 22 сентября 2019

Я пытаюсь вычислить манхэттенское расстояние для 8-головоломки с A *.Я понимаю, что делаю что-то не так с тем, как сравниваю текущие позиции с целью, но я не могу точно понять, что я делаю неправильно (я довольно плохо знаком с питоном).Пожалуйста, помогите.

 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

Я не получаю никакого сообщения об ошибке, он просто продолжает поиск по узлам.

...