Почему эта шахматная доска не способна хранить шахматные фигуры?
Я реализовал свою шахматную доску, используя свое положение шахматных фигур, чтобы обновить свою доску. Проблема с этой реализацией заключается в том, что доска не хранит шахматные фигуры, а взаимодействует с ними. Это означает, что после каждого хода мне придется вытирать доску и добавлять фигуры обратно.
from spot import Spot import piece class board: board = [[0 for i in range(8)] for j in range(8)] #you cant have loop declerations outside of classes def __init__(self): self.resetBoard() def spot_getBoard(self, x, y): if(x < 0 or x > 7 or y < 0 or x > 7): raise Exception('Index out of bounds') else: return self.board def resetBoard(self): # Initializw Black Pieces # self.board[0][0] = Spot(0,0,piece) # black rooks self.board[0][1] = Spot(0, 1, piece) # black knight # self.board[0][2] = Spot(0,2,piece) # black bishops # self.board[0][3] = Spot(0,3,piece) # black queens self.board[0][4] = Spot(0, 4, piece) # black king # self.board[0][5] = Spot(0,5,piece) # black bishops self.board[0][6] = Spot(0, 6, piece) # black knight # self.board[0][7] = Spot(0,7,piece) # black rooks self.board[1][0] = Spot(1, 0, piece) # black pawn self.board[1][1] = Spot(1, 1, piece) # black pawn self.board[1][2] = Spot(1, 2, piece) # black pawn self.board[1][3] = Spot(1, 3, piece) # black pawn self.board[1][4] = Spot(1, 4, piece) # black pawn self.board[1][5] = Spot(1, 5, piece) # black pawn self.board[1][6] = Spot(1, 6, piece) # black pawn self.board[1][7] = Spot(1, 7, piece) # black pawn # Initializw White Pieces self.board[6][0] = Spot(6, 0, piece) # white pawn self.board[6][1] = Spot(6, 1, piece) # white pawn self.board[6][2] = Spot(6, 2, piece) # white pawn self.board[6][3] = Spot(6, 3, piece) # white pawn self.board[6][4] = Spot(6, 4, piece) # white pawn self.board[6][5] = Spot(6, 5, piece) # white pawn self.board[6][6] = Spot(6, 6, piece) # white pawn self.board[6][7] = Spot(6, 7, piece) # white pawn # self.board[7][0] = Spot(7,0,piece) # white rooks self.board[7][1] = Spot(7, 1, piece) # white knight # self.board[7][2] = Spot(7,2,piece) # white bishops # self.board[7][3] = Spot(7,3,piece) # white queens self.board[7][4] = Spot(7, 4, piece) # white king # self.board[7][5] = Spot(7,5,piece) # white bishops self.board[7][6] = Spot(7, 6, piece) # white knight # self.board[7][7] = Spot(7,7,piece) # white rooks
Что я уже пробовал:
До сих пор я пытался добавить в игру цикл, который обновляет доску после каждого хода.
Gerry Schmitz
Может быть, вы не настаиваете на "доске" между звонками.
mohamaddibassy123
Я не совсем понимаю, что вы подразумеваете под постоянством доски между звонками?
Richard MacCutchan
Вы не показали ни одного кода, который вызывает эту проблему. Я также заметил в следующей строке:
if(x < 0 or x > 7 or y < 0 or x > 7):
последнее выражение должно быть для
y
нет x
.