Beispiel #1
0
        public void Discard6(IRoundPlayerState player, ITargetablePlayerState targetPlayer)
        {
            var temp = player.RoundHand;

            player.RoundHand       = targetPlayer.RoundHand;
            targetPlayer.RoundHand = temp;
        }
        public IDrawableTurnState CreateTurn(IRoundPlayerState playerState, IDrawableCardState turnDeck)
        {
            var turnPlayer = _playerFactory.CreateTurnPlayer(playerState);
            IDiscardablePlayerState discardablePlayer = null;
            ITargetablePlayerState  targetPlayer      = null;
            var turnState = new TurnState(turnDeck, turnPlayer, discardablePlayer, targetPlayer);

            return(turnState);
        }
Beispiel #3
0
        public void Discard1(ITargetablePlayerState targetPlayer, int rank)
        {
            var matches = _cardRankService.Matches(targetPlayer.RoundHand, rank);

            if (matches)
            {
                targetPlayer.OutOfRound = true;
            }
        }
        public IDiscardableTurnState GetDiscardable(IDrawablePlayerState drawablePlayerState)
        {
            var discardablePlayer = _playerFactory.GetDiscardable(drawablePlayerState);
            IDrawablePlayerState   unusedPlayerState = null;
            IDrawableCardState     turnDeck          = null;
            ITargetablePlayerState targetPlayer      = null;
            var turnState = new TurnState(turnDeck, unusedPlayerState, discardablePlayer, targetPlayer);

            return(turnState);
        }
Beispiel #5
0
 public TurnState(IDrawableCardState turnDeck,
                  IDrawablePlayerState drawablePlayerState  = null,
                  IDiscardablePlayerState discardablePlayer = null,
                  ITargetablePlayerState targetPlayer       = null)
 {
     TurnDeck            = turnDeck;
     DrawablePlayerState = drawablePlayerState;
     DiscardablePlayer   = discardablePlayer;
     TargetPlayer        = targetPlayer;
 }
Beispiel #6
0
        public void Discard(IDiscardableTurnState turn,
                            IDiscardableCardState card,
                            ITargetablePlayerState targetPlayer = null)
        {
            turn.DiscardablePlayer.TurnHand.Remove(card);
            var discarded = _cardStateFactory.Discard(card);

            turn.DiscardablePlayer.TurnDiscard = discarded;
            turn.TargetPlayer = targetPlayer;
        }
Beispiel #7
0
        public void Discard5(ITargetablePlayerState targetPlayer, IList <IDrawableCardState> deck, IList <ISetAsideCardState> setAside)
        {
            var discarded = _cardStateFactory.Discard(targetPlayer.RoundHand);

            targetPlayer.RoundDiscard.Add(discarded);
            var newCard = deck.Any() ?
                          _cardStateFactory.Draw(deck) :
                          _cardStateFactory.Draw(setAside);

            targetPlayer.RoundHand = newCard;
        }
Beispiel #8
0
        public void Discard3(IRoundPlayerState player, ITargetablePlayerState targetPlayer)
        {
            var playerCard = player.RoundHand;
            var targetCard = targetPlayer.RoundHand;

            var playerIsGreater = _cardRankService.Compare(playerCard, targetCard);

            if (playerIsGreater.HasValue)
            {
                if (playerIsGreater.Value)
                {
                    targetPlayer.OutOfRound = true;
                }
                else
                {
                    player.OutOfRound = true;
                }
            }
        }
 public void Discard(IRunningRoundState round, IDiscardableCardState card, ITargetablePlayerState targetPlayer = null)
 {
     throw new System.NotImplementedException();
 }