public bool HasGreater(Card cardMin, bool trump) { if (trump) { foreach (var card in GetDeck().GetDeck()) { if (card.GetSuit() == cardMin.GetSuit() && (card.GetValue() > cardMin.GetValue() || cardMin.GetName().Equals("7") && card.GetName().Equals("8"))) { return(true); } } return(false); } foreach (var card in GetDeck().GetDeck()) { if (card.GetSuit() == cardMin.GetSuit() && card.GetId() > cardMin.GetId()) { return(true); } } return(false); }
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); }