def add_piece_to_game(): flag_count = 0 piece_to_add = Piece(pieces[piece_name.get()], pieces[piece_name.get()][0]) for flag in pieces_movement_flags[piece_name.get()]: if flag.get(): piece_to_add.add_movement(all_movements_list[flag_count]) flag_count += 1 piece_to_add.set_position(Position(column.get(), row.get())) pieces_for_game.append(piece_to_add) logs.insert(tk.END, "\nAdded " + piece_to_add.name + " at position " + str(Position(column.get(), row.get())) + ".")
def init_board(self): """Initializes the pieces on the board.""" self.board = [[None for j in range(self.SIZE)] for i in range(self.SIZE)] # CREATE CUSTOM PIECES piece = Piece("Pawn", "P") piece.add_movement(PawnMovement()) for i in range(self.SIZE): self.add_piece(piece, Position(1, i), Player.WHITE) for i in range(self.SIZE): self.add_piece(piece, Position(6, i), Player.BLACK) piece = Piece("Horse", "H") piece.add_movement(HorseMovement()) # PLACE PIECES ON BOARD self.add_piece(piece, Position(0, 1), Player.WHITE) self.add_piece(piece, Position(0, 6), Player.WHITE) self.add_piece(piece, Position(7, 1), Player.BLACK) self.add_piece(piece, Position(7, 6), Player.BLACK) piece = Piece("Rook", "R") piece.add_movement(HorizontalMovement()) piece.add_movement(VerticalMovement()) self.add_piece(piece, Position(0, 0), Player.WHITE) self.add_piece(piece, Position(0, 7), Player.WHITE) self.add_piece(piece, Position(7, 0), Player.BLACK) self.add_piece(piece, Position(7, 7), Player.BLACK) piece = Piece("Bishop", "B") piece.add_movement(DiagonalMovement()) self.add_piece(piece, Position(0, 2), Player.WHITE) self.add_piece(piece, Position(0, 5), Player.WHITE) self.add_piece(piece, Position(7, 2), Player.BLACK) self.add_piece(piece, Position(7, 5), Player.BLACK) piece = Piece("Queen", "Q") piece.add_movement(HorizontalMovement()) piece.add_movement(VerticalMovement()) piece.add_movement(DiagonalMovement()) self.add_piece(piece, Position(0, 4), Player.WHITE) self.add_piece(piece, Position(7, 4), Player.BLACK) piece = Piece("King", "K") piece.add_movement(LimitedHorizontalMovement()) piece.add_movement(LimitedVerticalMovement()) piece.add_movement(LimitedDiagonalMovement()) self.add_piece(piece, Position(0, 3), Player.WHITE) self.add_piece(piece, Position(7, 3), Player.BLACK)