Example #1
0
        public PlayerAction GetAnnounce(Player player, Card card)
        {
            if (playerActionValidator.CanAnnounce(player))
            {
                bool hasMarriage = GetMarriages(player)
                                   .Any(x => x.Name == card.Name);

                if (hasMarriage)
                {
                    if (card.Suit == deckState.TrumpCard.Suit)
                    {
                        return(new PlayerAction(PlayerActionType.Announce, card, Announce.Forty));
                    }

                    return(new PlayerAction(PlayerActionType.Announce, card, Announce.Twenty));
                }
            }

            return(new PlayerAction(PlayerActionType.Announce, Announce.None));
        }
Example #2
0
        protected override PlayerAction PlayLogic(Player player)
        {
            if (playerActionValidator.CanAnnounce(player))
            {
                IEnumerable <Card> marriages = announceProvider.GetMarriages(player);

                if (marriages.Any())
                {
                    Card queen = marriages.First(x => x.Type == CardType.Queen);

                    if (queen.Suit == deckState.TrumpCard.Suit)
                    {
                        return(new PlayerAction(PlayerActionType.Announce, queen, Announce.Forty));
                    }

                    return(new PlayerAction(PlayerActionType.Announce, queen, Announce.Twenty));
                }
            }

            return(new PlayerAction(PlayerActionType.None));
        }