public ChessGame( IBoardEngineProvider <ChessPieceEntity> boardEngineProvider, IBoardEntityFactory <ChessPieceEntity> entityFactory, ICheckDetectionService checkDetectionService ) : this(boardEngineProvider, checkDetectionService, new ChessBoardSetup(entityFactory)) { }
public ChessGameTrigger( IBoardEngineProvider <ChessPieceEntity> boardEngineProvider, IBoardSetup <ChessPieceEntity> boardSetup, ICheckDetectionService checkDetectionService ) { _boardSetup = boardSetup; _boardEngineProvider = boardEngineProvider; _checkDetectionService = checkDetectionService; }
public ChessGame( IBoardEngineProvider <ChessPieceEntity> boardEngineProvider, ICheckDetectionService checkDetectionService, IBoardSetup <ChessPieceEntity> setup, Colours whoseTurn = Colours.White) { _engine = boardEngineProvider.Provide(setup, (int)whoseTurn); _checkDetectionService = checkDetectionService; _engine.CurrentPlayer = (int)whoseTurn; CheckState = _checkDetectionService.Check(BoardState); }
public ChessGameService( ILogger <ChessGameService> logger, ILogger <ChessGame> chessGameLogger, ICheckDetectionService checkDetectionService, IBoardEngineProvider <ChessPieceEntity> boardEngineProvider, IBoardEntityFactory <ChessPieceEntity> entityFactory ) { _checkDetectionService = checkDetectionService; _entityFactory = entityFactory; _chessGameLogger = chessGameLogger; _boardEngineProvider = boardEngineProvider; _logger = logger; }