def parse_piece_list(cls, white, black): board = Board() board.clear() for peice in white.split(" "): p = Piece.from_symbol(peice[0]) board.set_piece_at( square(ord(peice[1]) - ord('a'), int(peice[2]) - 1), p) for peice in black.lower().split(" "): p = Piece.from_symbol(peice[0]) board.set_piece_at( square(ord(peice[1]) - ord('a'), int(peice[2]) - 1), p) return board
def deep_copy_board_pos(self,board): fresh = Board() for i in range(0,8): for j in range(0,8): piece = board.piece_at(j*8+i) if(piece): sym = piece.symbol() fresh.set_piece_at(j*8+i,Piece.from_symbol(sym)) else: fresh.remove_piece_at(j*8+i) return fresh
def deep_copy_board_pos(self,board): fresh = Bitboard() for i in range(0,8): for j in range(0,8): piece = board.piece_at(j*8+i) if(piece): sym = piece.symbol() fresh.set_piece_at(j*8+i,Piece.from_symbol(sym)) else: fresh.remove_piece_at(j*8+i) return fresh
def mousePressEvent(self, mouseEvent): pos = self.getBoardPosition(mouseEvent.x(), mouseEvent.y()) if(pos): x = pos[0] y = pos[1] if(x > 7): self.selected_xy = (x-8,y) else: if(self.selected_xy != None): (i,j) = self.selected_xy piece = self.pcs[i][j] square = y*8+x current_piece = self.board.piece_at(square) if(current_piece and current_piece.symbol() == piece): self.board.remove_piece_at(square) else: self.board.set_piece_at(square,Piece.from_symbol(piece)) if(self.board.status() == 0): self.parent.enable_ok_button() else: self.parent.disable_ok_button() self.update()
def mousePressEvent(self, mouseEvent): pos = self.getBoardPosition(mouseEvent.x(), mouseEvent.y()) if(pos): x = pos[0] y = pos[1] if(x > 7): self.selected_xy = (x-8,y) else: if(self.selected_xy != None): (i,j) = self.selected_xy piece = self.pcs[i][j] square = y*8+x current_piece = self.board.piece_at(square) if(current_piece and current_piece.symbol() == piece): self.board.remove_piece_at(square) else: self.board.set_piece_at(square,Piece.from_symbol(piece)) if(self.board.status() == 0): self.parent.enable_ok_button() else: self.parent.disable_ok_button() self.update()
def get_available_for_figure(self, figure: str) -> set: piece = Piece.from_symbol( [k for k, v in UNICODE_PIECE_SYMBOLS.items() if v == figure][0]) return self.board.get_move_for_figure(piece)