public GameEngine(IGameBoard gameBoard, IMoveValidator moveValidator, IGameBoardAnalyzer gameBoardAnalyzer) { this.gameBoard = gameBoard ?? throw new ArgumentNullException(nameof(gameBoard)); this.moveValidator = moveValidator ?? throw new ArgumentNullException(nameof(moveValidator)); this.gameBoardAnalyzer = gameBoardAnalyzer ?? throw new ArgumentNullException(nameof(gameBoardAnalyzer)); guid = Guid.NewGuid(); NewGame(); }
private IGameEngine NewGameEngine(IGameBoard gameBoard, IMoveValidator moveValidator, IGameBoardAnalyzer gameBoardAnalyzer) { return(new GameEngine(gameBoard, moveValidator, gameBoardAnalyzer)); }