mohamaddibassy123 Ответов: 1

Как использовать дубликаты экземпляра класса в аргументах моей функции?


Мое место класса принимает значение x и y, чтобы создать координаты на моей доске.
У меня есть функция, ответственная за перемещение моей шахматной фигуры из ее текущего набора координат в новый набор координат путем вычитания начального x и конечного x и то же самое для начального y и конечного y. Проблема, с которой я сталкиваюсь, заключается в том, что я получаю ошибку, когда я беру дубликаты экземпляра класса в аргументах функции, ответственных за перемещение моей шахматной фигуры из ее текущего набора координат в новый набор координат.


class Spot:

    def __init__(self, x, y, piece):
        self.x = x
        self.y = y
        self.piece = piece



def canMove(self, board, spot start, spot end):
       pass


Что я уже пробовал:

Я попытался передать имена экземпляров класса вместо того, чтобы иметь его в качестве типа, за которым следует имя. Если я это сделаю, как я буду различать начальную и конечную координаты? Я также получаю дубликат ошибки для этого

Afzaal Ahmad Zeeshan

Не уверен, но вам разрешено использовать spot start в параметрах? Это должно быть ошибкой.

Попробуйте изменить это на:


def cavMove(self, board, start, end):
pass

Это должно сработать для вас.

Richard MacCutchan

Это и есть решение. Игнорируя тот факт, что pass оператор означает, что функция ничего не делает.

mohamaddibassy123

Спасибо, ключевое слово pass включено в эту функцию, потому что оно предназначено для абстрактной функции.

mohamaddibassy123

Спасибо

1 Ответов

Рейтинг:
1

KriShna RaJendra N PraSad

Надеюсь, что приведенная ниже ссылка поможет вам.

stackoverflow.com/questions/23914583/python-classes-duplicate-instances