#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")