Exemple #1
0
 public bool CardIsLeading(Card card, Suit trump)
 {
     // First play
     if (Cards.Count == 0)
     {
         return(true);
     }
     // The card belongs to the requested suit
     if (Cards[0].GetSuit() == card.GetSuit())
     {
         if (card.GetSuit() != trump && _leadingCard.GetSuit() == trump)
         {
             return(false);
         }
         if (card.GetSuit() != trump && card.GetId() > _leadingCard.GetId())
         {
             return(true);
         }
         if (card.GetSuit() == trump &&
             (card.GetValue() > _leadingCard.GetValue() ||
              card.GetName().Equals("8") && _leadingCard.GetName().Equals("7")))
         {
             return(true);
         }
     }
     // The player cut
     else if (card.GetSuit() == trump)
     {
         if (_leadingCard.GetSuit() != trump ||
             card.GetName().Equals("8") && _leadingCard.GetName().Equals("7") ||
             card.GetValue() > _leadingCard.GetValue())
         {
             return(true);
         }
     }
     // The card isn't of the requested suit & isn't a trump
     return(false);
 }