Exemplo n.º 1
0
 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
Exemplo n.º 2
0
 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
Exemplo n.º 3
0
 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
Exemplo n.º 4
0
 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()
Exemplo n.º 5
0
 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()
Exemplo n.º 6
0
 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)