Exemple #1
0
        public GamePlayService(
            IGameDeckCardCollectionRepository gameDeckCardCollectionRepository,
            IGameDeckRepository gameDeckRepository,
            IGameRepository gameRepository,
            IMoveRepository moveRepository,
            ITurnRepository turnRepository,
            IDataMapper <GameDeckCardCollectionData, GameDeckCardCollectionModel> gameDeckCardCollectionMapper,
            IDataMapper <GameDeckData, GameDeckModel> gameDeckMapper,
            ICardService cardService,
            IGameDataService gameDataService,
            IGameValidator gameValidator,
            IMoveValidator moveValidator
            )
        {
            _gameDeckCardCollectionRepository = gameDeckCardCollectionRepository;
            _gameDeckRepository = gameDeckRepository;
            _gameRepository     = gameRepository;
            _moveRepository     = moveRepository;
            _turnRepository     = turnRepository;

            _gameDeckCardCollectionMapper = gameDeckCardCollectionMapper;
            _gameDeckMapper = gameDeckMapper;

            _cardService     = cardService;
            _gameDataService = gameDataService;

            _gameValidator = gameValidator;
            _moveValidator = moveValidator;
        }
Exemple #2
0
 public MoveHandler(IMoveGenerator moveGenerator, IUserMoveReader userMoveReader, IMoveValidator moveValidator, IBoardHandler boardHandler)
 {
     _moveGenerator = moveGenerator;
     _userMoveReader = userMoveReader;
     _moveValidator = moveValidator;
     _boardHandler = boardHandler;
 }
Exemple #3
0
 public MoveHandler(IMoveGenerator moveGenerator, IUserMoveReader userMoveReader, IMoveValidator moveValidator, IBoardHandler boardHandler)
 {
     _moveGenerator  = moveGenerator;
     _userMoveReader = userMoveReader;
     _moveValidator  = moveValidator;
     _boardHandler   = boardHandler;
 }
Exemple #4
0
 public Move(IMoveValidator moveValidator)
 {
     if (moveValidator == null)
     {
         throw new ArgumentNullException("MoveValidator missing");
     }
     this.moveValidator = moveValidator;
 }
 public MoveManager(IBoard board)
 {
     _board         = board;
     _canUndo       = false;
     _previous      = board.Copy();
     _moveValidator = new OrdinaryBoardMoveValidator(_board);
     _verifier      = new OrdinaryBoardCheckVerifier(_board, _moveValidator);
 }
 public GameHub(IGameRepository gameRepository, IMoveValidator moveValidator, IMoveHandler moveHandler,
                CoordinateNotationParser coordinateNotationParser, FenParser fenParser, ILogger <GameHub> logger)
 {
     _gameRepository           = gameRepository;
     _moveValidator            = moveValidator;
     _moveHandler              = moveHandler;
     _coordinateNotationParser = coordinateNotationParser;
     _fenParser = fenParser;
     _logger    = logger;
 }
Exemple #7
0
        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();
        }
Exemple #8
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="pieceColor">Chess piece colour</param>
        public Pawn(PieceColor pieceColor) : base(pieceColor)
        {
            // Going forward we could potentially get rid of this Pawn class and store the chess piece
            // type in the main ChessPiece class. Since the movement and movement validation is now handled
            // within the movement service we don't really need to override the move method.
            // Could have a ValidatorFactory or something similar to get the correct
            // validator depending on ChessPiece type.

            _validator       = new PawnMoveValidator(this);
            _movementSerivce = new MovementService(_validator);
        }
 public GameManager(
     IGameRepository gameRepository,
     IMoveRepository moveRepository,
     IMoveValidator moveValidator)
 {
     _gameRepository = gameRepository
                       ?? throw new ArgumentNullException(nameof(gameRepository));
     _moveRepository = moveRepository
                       ?? throw new ArgumentNullException(nameof(moveRepository));
     _moveValidator = moveValidator
                      ?? throw new ArgumentNullException(nameof(moveValidator));
 }
Exemple #10
0
        public void Setup()
        {
            _gameState = new GameStateClass(
                new Map(
                    new HardCodedLayerGenerator(),
                    3,
                    new Player(new Position(), new Stats(1, 1, 1), "john", 10)));

            _fakeMoveValidator = new MoveValidator();

            _sut = new InteractionHandler();
        }
 public ValidMoveResult(
     IBoard board,
     ICheckVerifier verifier,
     IMoveValidator moveValidator,
     LastMoveViewModel lastMove,
     IEnumerable <Figure> allSmashedFigures)
 {
     _board             = board;
     _verifier          = verifier;
     _moveValidator     = moveValidator;
     _lastMove          = lastMove;
     _allSmashedFigures = allSmashedFigures;
 }
Exemple #12
0
 public RobotController(IMove robot, IMoveValidator validator)
 {
     if (robot == null)
     {
         throw new ArgumentNullException("RobotMove missing");
     }
     if (validator == null)
     {
         throw new ArgumentNullException("MoveValidator missing");
     }
     this.robot     = robot;
     this.validator = validator;
 }
Exemple #13
0
 public ConcreteTurnExecutioner(
     IMoveValidator validator,
     ICharacterFormatter formatter,
     ITurnScheduler scheduler,
     IMoveExecutioner executioner,
     IInteractionHandler interactionHandler)
 {
     _validator          = validator;
     _formatter          = formatter;
     _turnScheduler      = scheduler;
     _moveExecutioner    = executioner;
     _interactionHandler = interactionHandler;
 }
Exemple #14
0
 public ChessGame(
     IChessBoard chessBoard,
     IMoveValidator moveValidator,
     IPromotionDetector promotionDetector,
     IGameFinishedDetector gameFinishedDetector,
     ILegalMovement legalMovement)
 {
     CurrentPlayer             = ChessColor.White;
     this.chessBoard           = chessBoard;
     this.moveValidator        = moveValidator;
     this.promotionDetector    = promotionDetector;
     this.gameFinishedDetector = gameFinishedDetector;
     this.legalMovement        = legalMovement;
 }
        public void Setup()
        {
            _uut   = new MoveValidator();
            _tiles = new ITile[2, 2];

            _tiles[0, 0] = new Tile(true);
            _tiles[1, 0] = new Tile(false);
            _tiles[0, 1] = new Tile(true);
            _tiles[1, 1] = new Tile(true);


            /*      Grid should be as follows
             * /      true   false
             * /      true   false
             */
        }
Exemple #16
0
        public GamePlayService(
            IGameRepository gameRepository,
            IMoveRepository moveRepository,
            ITurnRepository turnRepository,
            IGameDataService gameDataService,
            IGameValidator gameValidator,
            IMoveValidator moveValidator,
            IGameDeckHelper gameDeckHelper,
            IHandleWinnerHandler handleWinnerHandler
            )
        {
            _gameRepository = gameRepository;
            _moveRepository = moveRepository;
            _turnRepository = turnRepository;

            _gameDataService = gameDataService;
            _gameValidator   = gameValidator;
            _moveValidator   = moveValidator;

            _gameDeckHelper = gameDeckHelper;

            _handleWinnerHandler = handleWinnerHandler;
        }
 private IGameEngine NewGameEngine(IGameBoard gameBoard, IMoveValidator moveValidator,
                                   IGameBoardAnalyzer gameBoardAnalyzer)
 {
     return(new GameEngine(gameBoard, moveValidator, gameBoardAnalyzer));
 }
Exemple #18
0
 public MoveCommandHandler(IMoveValidator moveValidator)
 {
     _moveValidator = moveValidator;
 }
Exemple #19
0
 public MoveGenerator(IMoveValidator moveValidator, IMoveSelector moveSelector)
 {
     _moveValidator = moveValidator;
     _moveSelector = moveSelector;
 }
Exemple #20
0
 public OrdinaryBoardCheckVerifier(IBoard board, IMoveValidator moveValidator)
 {
     _board         = board;
     _moveValidator = moveValidator;
 }
Exemple #21
0
 public MoveGenerator(IMoveValidator moveValidator, IMoveSelector moveSelector)
 {
     _moveValidator = moveValidator;
     _moveSelector  = moveSelector;
 }
Exemple #22
0
 public MoveValidatorTests()
 {
     _moveValidator = new MoveValidator(_plateauMock.Object);
 }
Exemple #23
0
 public GameProcessor(IMoveValidator moveProcessor)
 {
     _moveProcessor = moveProcessor;
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="validator"><see cref="IMoveValidator"/></param>
 /// <param name="chessPiece"><see cref="IChessPiece"/></param>
 public MovementService(IMoveValidator validator)
 {
     _validator  = validator;
     _chessPiece = validator.ChessPiece;
 }
Exemple #25
0
 public Game(IGameBoard gameBoard, IMoveValidator moveValidator)
 {
     _gameBoard     = gameBoard;
     _moveValidator = moveValidator;
 }
Exemple #26
0
 public void Setup()
 {
     _moveValidator = new MoveValidator();
     _fenParser     = new FenParser();
 }