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)); }
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)); }