# Try to import Cython version first, fall back to Python
try:
    from .blokus_cython import (
        Board,
        BlokusGame,
        Move,
        Piece,
        PieceOrientation,
        PieceSet,
    )
    # Import STANDARD_PIECES from pieces.py since it's not in Cython
    from .pieces import STANDARD_PIECES, DUO_PIECES, JUNIOR_PIECES
    # Import generate_orientations from pieces.py
    from .pieces import generate_orientations
    # Import bots from Python since they're not in Cython
    from .bots import Bot, GreedyBot, GreedyCornersBot, MinimaxBot, RandomBot
except ImportError:
    from .board import Board
    from .bots import Bot, GreedyBot, GreedyCornersBot, MinimaxBot, RandomBot
    from .game import BlokusGame, Move
    from .pieces import (
        DUO_PIECES,
        JUNIOR_PIECES,
        STANDARD_PIECES,
        Piece,
        PieceOrientation,
        PieceSet,
        generate_orientations,
    )

__all__ = [
    "Board",
    "BlokusGame",
    "Move",
    "Piece",
    "PieceOrientation",
    "PieceSet",
    "STANDARD_PIECES",
    "DUO_PIECES",
    "JUNIOR_PIECES",
    "generate_orientations",
    "Bot",
    "RandomBot",
    "GreedyBot",
    "GreedyCornersBot",
    "MinimaxBot",
]
