Exemplo n.º 1
0
 private bool BeatsCardTrumpf(Card card, Trumpf trumpf)
 {
     if (Suit.Equals(trumpf.Suit))
     {
         // This card is trumpf
         if (card.Suit.Equals(trumpf.Suit))
         {
             // Comparing two trumpfs
             return(CompareToTrumpfOrder(card) > 0);
         }
         else
         {
             // Trumpf always beats non-trumpf
             return(true);
         }
     }
     else
     {
         // This card is not trumpf
         if (card.Suit.Equals(trumpf.Suit))
         {
             // Other card is trumpf
             return(false);
         }
         else
         {
             // Both cards are non-trumpf
             return(CompareTo(card) > 0);
         }
     }
 }
Exemplo n.º 2
0
 public bool BeatsCard(Card card, Trumpf trumpf)
 {
     if (TrumpfMode.TRUMPF.Equals(trumpf.Mode))
     {
         return(BeatsCardTrumpf(card, trumpf));
     }
     else if (TrumpfMode.OBEABE.Equals(trumpf.Mode))
     {
         return(BeatsCardObeabe(card));
     }
     else if (TrumpfMode.UNDEUFE.Equals(trumpf.Mode))
     {
         return(BeatsCardUndeufe(card));
     }
     else
     {
         throw new ArgumentException("Unexpected " + trumpf.Mode);
     }
 }
Exemplo n.º 3
0
 public CardComparer(Trumpf trumpf)
 {
     _trumpf = trumpf;
 }
Exemplo n.º 4
0
 public bool IsTrumpf(Trumpf trumpf)
 {
     return(trumpf.Mode.Equals(TrumpfMode.TRUMPF) && Suit.Equals(trumpf.Suit));
 }
Exemplo n.º 5
0
 /**
  * Allows to sort cards by their strength given a certain trumpf.
  */
 public static IComparer <Card> GetComperatorForTrumpf(Trumpf trumpf)
 {
     return(new CardComparer(trumpf));
 }