def heuristic_cost(self, start, target):
        """ assumes start and target are an (x,y) grid """
        (x1, y1) = start
        (x2, y2) = target
        return abs(x1 - x2) + abs(y1 - y2)
assumes start and target are an (x,y) grid