Пример #1
0
def create_piece(piece, color=Piece.white):
    if isinstance(piece, str):
        variants = {cls.short_name: cls for cls in pieces}
        if piece.upper() in variants:
            color = Piece.white if piece.isupper() else Piece.black
            piece = variants[piece.upper()]
            return piece(color)
    raise exceptions.ChessError("invalid piece name: '{}'".format(piece))
Пример #2
0
def create_piece(piece, color='white'):
    if isinstance(piece, str):
        if piece.upper() in SHORT_NAME.keys():
            color = "white" if piece.isupper() else "black"
            piece = SHORT_NAME[piece.upper()]
        piece = piece.capitalize()
        if piece in SHORT_NAME.values():
            return eval("{classname}(color)".format(classname=piece))
    raise exceptions.ChessError("invalid piece name: '{}'".format(piece))