шахматная фигура в списке для объявления победителя

#python

#python

Вопрос:

 def destroy_piece(self, piece):
        """ Removes piece from the canvans and click-handler
            automatily called by move_piece
        """
        img1=piece.get_img_int(0)
        img2=piece.get_img_int(1)
        
        del self._on_clicks[str(img1)]
        del self._on_clicks[str(img2)]
        
        self.delete(piece.get_img_int(0))
        self.delete(piece.get_img_int(1))
        
        self.destroyed_pieces = []
        self.destroyed_pieces.append(piece)
        
        for elem in self.destroyed_pieces:
            if  ......
                messagebox.showinfo("WINNER")


               
class GUIKing(GUIChessPiece,King):
    def __init__(self,board,row,col,color,path="./imagepack/"):
        
        if color==BLACK:
            path1=path "bk.png"
            path2=path "bk_s.png"
        else:
            path1=path "wk.png"
            path2=path "wk_s.png"
        
        GUIChessPiece.__init__(self,board,row,col,color,path1,path2)
    
    def on_click(self,event):
        GUIChessPiece.on_click(self,event)
    
 

У меня возникли проблемы с продолжением этого кода для определения выигрыша, просто проверяя, есть ли король в списке, фигуры — это классы, представленные картинками на холсте. Хотя, это изображения или фрагмент, который добавляется в список? Я прилагаю код для класса king

Комментарии:

1. Я не понимаю, почему вы должны проверять наличие победителя здесь, если это обычные шахматы, которые не выигрывают, уничтожая фигуры. Можете ли вы точно указать, какое состояние self.destroyed_pieces приведет вас к печати «победитель»?

2. Виноват, я забыл написать, что хочу проверить, есть ли король в списке

3. Ты не можешь уничтожить короля! Вы можете отредактировать свой вопрос, но вы должны выполнить поиск python list in operator , и вы найдете свой ответ. tutorialspoint.com /.

4. Есть ли King класс или Piece класс с каким type -то атрибутом?

5. Существует класс king, который представлен изображением

Ответ №1:

Поскольку ‘King’ — это класс, то, чтобы определить, есть ли член этого класса в списке self.destroyed_pieces , вы можете сделать:

 for elem in self.destroyed_pieces:
    if  isintance(elem,King):
        messagebox.showinfo("WINNER")