public SimPlayerTurnContext(
     SimBaseRoundState state,
     Card trumpCard,
     int cardsLeftInDeck,
     int firstPlayerRoundPoints,
     int secondPlayerRoundPoints)
 {
     this.State                   = state;
     this.TrumpCard               = trumpCard;
     this.CardsLeftInDeck         = cardsLeftInDeck;
     this.FirstPlayerRoundPoints  = firstPlayerRoundPoints;
     this.SecondPlayerRoundPoints = secondPlayerRoundPoints;
 }
        public static bool CanChangeTrump(bool isThePlayerFirst, SimBaseRoundState state, Card trumpCard, ICollection<Card> playerCards)
        {
            if (!isThePlayerFirst)
            {
                return false;
            }

            if (!state.CanChangeTrump)
            {
                return false;
            }

            return playerCards.Contains(new Card(trumpCard.Suit, CardType.Nine));
        }
        public static bool CanChangeTrump(bool isThePlayerFirst, SimBaseRoundState state, Card trumpCard, ICollection <Card> playerCards)
        {
            if (!isThePlayerFirst)
            {
                return(false);
            }

            if (!state.CanChangeTrump)
            {
                return(false);
            }

            return(playerCards.Contains(new Card(trumpCard.Suit, CardType.Nine)));
        }