예제 #1
0
 public CloseDeck(ITrickState trickState, IGameState gameState, IAnnounceProvider announceProvider, IPlayerActionValidator playerActionValidator)
     : base(trickState)
 {
     this.gameState             = gameState;
     this.announceProvider      = announceProvider;
     this.playerActionValidator = playerActionValidator;
 }
예제 #2
0
 public AnnounceMarriage(ITrickState trickState, IDeckState deckState, IAnnounceProvider announceProvider, IPlayerActionValidator playerActionValidator)
     : base(trickState)
 {
     this.deckState             = deckState;
     this.announceProvider      = announceProvider;
     this.playerActionValidator = playerActionValidator;
 }
예제 #3
0
 public AnnounceManager(IGameState gameState, ITrickState trickState, IAnnounceProvider announceProvider)
     : base(gameState, trickState)
 {
     this.gameState        = gameState;
     this.trickState       = trickState;
     this.announceProvider = announceProvider;
 }
예제 #4
0
 public DeckNotClosedRoundWinner(IGameState gameState, IDeckState deckState, ITrickState trickState)
     : base(gameState)
 {
     this.gameState  = gameState;
     this.deckState  = deckState;
     this.trickState = trickState;
 }
예제 #5
0
 public ChangeTrumpCardManager(IDeckState deckState, IGameState gameState, ITrickState trickState, IPlayerActionValidator playerActionValidator)
     : base(gameState, trickState)
 {
     this.deckState             = deckState;
     this.gameState             = gameState;
     this.playerActionValidator = playerActionValidator;
 }
예제 #6
0
 public PlayCardManager(IDeckState deckState, IGameState gameState, ITrickState trickState, IEnumerable <IPlayCardValidator> playCardValidators)
     : base(gameState, trickState)
 {
     this.deckState          = deckState;
     this.gameState          = gameState;
     this.trickState         = trickState;
     this.playCardValidators = playCardValidators;
 }
예제 #7
0
 public PlayDifferentCard(ITrickState trickState, IDeckState deckState)
     : base(trickState)
 {
     this.deckState = deckState;
 }
예제 #8
0
 protected BasePlayLogic(ITrickState trickState)
 {
     this.trickState = trickState;
 }
예제 #9
0
 public ChangeTrumpCard(ITrickState trickState, IDeckState deckState, IPlayerActionValidator playerActionValidator)
     : base(trickState)
 {
     this.deckState             = deckState;
     this.playerActionValidator = playerActionValidator;
 }
예제 #10
0
 public PlayTrumpCard(ITrickState trickState, IDeckState deckState)
     : base(trickState)
 {
     this.deckState = deckState;
 }
예제 #11
0
 public PlayCard(ITrickState trickState, IDeckState deckState, IAnnounceProvider announceProvider)
     : base(trickState)
 {
     this.deckState        = deckState;
     this.announceProvider = announceProvider;
 }
 protected BasePlayerActionManager(IGameState gameState, ITrickState trickState)
 {
     this.gameState  = gameState;
     this.trickState = trickState;
 }
예제 #13
0
 public PlayHigherCard(ITrickState trickState)
     : base(trickState)
 {
 }
예제 #14
0
 public PlayLowerCard(ITrickState trickState)
     : base(trickState)
 {
 }
 public PlayerActionValidator(IDeckState deckState, ITrickState trickState)
 {
     this.deckState  = deckState;
     this.trickState = trickState;
 }
예제 #16
0
 public StatesManager(IGameState gameState, IDeckState deckState, ITrickState trickState)
 {
     this.gameState  = gameState;
     this.deckState  = deckState;
     this.trickState = trickState;
 }
 protected BasePlayerActionStrategy(ITrickState trickState, IEnumerable <IPlayLogic> playLogics)
 {
     this.trickState = trickState;
     this.playLogics = playLogics;
 }
예제 #18
0
 public TrickManager(IGameState gameState, ITrickState trickState, ITrickWinner trickWinner)
 {
     this.gameState   = gameState;
     this.trickState  = trickState;
     this.trickWinner = trickWinner;
 }
예제 #19
0
        private PlayFirstFollowingSuitStrategy RegisterPlayFirstFollowingSuitStrategy(IDeckState deckState, ITrickState trickState, IEnumerable <IPlayLogic> playLogics)
        {
            List <Type> types = new List <Type>()
            {
                typeof(AnnounceMarriage),
                typeof(PlayCard)
            };

            IEnumerable <IPlayLogic> strategyLogics = GetOrderedPlayLogics(types, playLogics);

            return(new PlayFirstFollowingSuitStrategy(deckState, trickState, strategyLogics));
        }
 public PlaySecondFollowingSuitStrategy(IDeckState deckState, ITrickState trickState, IEnumerable <IPlayLogic> playLogics)
     : base(trickState, playLogics)
 {
     this.deckState  = deckState;
     this.trickState = trickState;
 }
예제 #21
0
        private PlaySecondFollowingSuitStrategy RegisterPlaySecondFollowingSuitStrategy(IDeckState deckState, ITrickState trickState, IEnumerable <IPlayLogic> playLogics)
        {
            List <Type> types = new List <Type>()
            {
                typeof(PlayHigherCard),
                typeof(PlayLowerCard),
                typeof(PlayTrumpCard),
                typeof(PlayDifferentCard)
            };

            IEnumerable <IPlayLogic> strategyLogics = GetOrderedPlayLogics(types, playLogics);

            return(new PlaySecondFollowingSuitStrategy(deckState, trickState, strategyLogics));
        }