Exemplo n.º 1
0
        internal void TwoCardsEqualOperator(CardSuiteEnum suite1, CardValueEnum value1, CardSuiteEnum suite2, CardValueEnum value2)
        {
            var newCard1 = new Card(suite1, value1);
            var newCard2 = new Card(suite2, value2);

            Assert.True(newCard1 == newCard2);
        }
Exemplo n.º 2
0
        internal void TwoCardsAreEqual(CardSuiteEnum suite1, CardValueEnum value1, CardSuiteEnum suite2, CardValueEnum value2)
        {
            var newCard1 = new Card(suite1, value1);
            var newCard2 = new Card(suite2, value2);

            Assert.True(newCard1.Equals(newCard2));
        }
Exemplo n.º 3
0
        internal void TwoCardsValuesAndSuitesAreNotEqual(CardSuiteEnum suite1, CardValueEnum value1, CardSuiteEnum suite2, CardValueEnum value2)
        {
            var newCard1 = new Card(suite1, value1);
            var newCard2 = new Card(suite2, value2);

            Assert.False(newCard1.Equals(newCard2));
        }
Exemplo n.º 4
0
        public Card(char rank, char suit)
        {
            CardValueEnum _rank = rankParseLookup[rank];

            SuitEnum _suit = suitParseLookup[suit];

            _card = (CardEnum)((int)_suit + (int)_rank);
            if (_suit == SuitEnum.Unknown || _rank == CardValueEnum.Unknown)
            {
                throw new ArgumentException("Hand is not correctly formatted. Value: " + rank + " Suit: " + suit);
            }
        }
Exemplo n.º 5
0
 private static         CardValueEnum[] initRankParseLookup()
 {
     CardValueEnum[] ranks = new CardValueEnum[128];
     ranks['A'] = CardValueEnum._A;
     ranks['a'] = CardValueEnum._A;
     ranks['K'] = CardValueEnum._K;
     ranks['k'] = CardValueEnum._K;
     ranks['Q'] = CardValueEnum._Q;
     ranks['q'] = CardValueEnum._Q;
     ranks['J'] = CardValueEnum._J;
     ranks['j'] = CardValueEnum._J;
     ranks['T'] = CardValueEnum._T;
     ranks['t'] = CardValueEnum._T;
     for (int i = 2; i <= 9; i++)
     {
         ranks[i.ToString()[0]] = (CardValueEnum)i;
     }
     return(ranks);
 }
Exemplo n.º 6
0
        public static Card GetCardFromIntValue(int value)
        {
            //Sanity check
            if (value >= 52 || value <= -1)
            {
                //Because card is a struct we cant return null,
                //however there is a property isEmpty that is true when this method fails
                return(new Card());
            }

            var suit = (int)(value / 13);
            var rank = value % 13;

            //suit starts at zero and SuitEnum starts at 1
            SuitEnum suitValue = (SuitEnum)((suit + 1) << 4);

            //rank starts at zero and CardValueEnum starts at 2
            CardValueEnum rankValue = (CardValueEnum)rank + 2;

            return(new Card(suitValue, rankValue));
        }
Exemplo n.º 7
0
 private Card(CardValueEnum rank, SuitEnum suit)
 {
     CardEnum = GetCardEnum(rank, suit);
 }
Exemplo n.º 8
0
 private Card(SuitEnum suit, CardValueEnum rank)
 {
     _card = (CardEnum)((int)suit + (int)rank);
 }
 internal static CardEnum GetCardEnum(CardValueEnum rank, SuitEnum suit)
 {
     return((CardEnum)((int)suit * 13 + (int)rank));
 }
Exemplo n.º 10
0
 public Card(CardSuiteEnum suite, CardValueEnum value)
 {
     Type  = suite;
     Value = value;
 }
Exemplo n.º 11
0
 internal CardWarGame(CardValueEnum cardValue, CardColorEnum cardColor) : base(cardValue, cardColor)
 {
 }
Exemplo n.º 12
0
 protected Card(CardValueEnum cardValue, CardColorEnum cardColor)
 {
     this.cardValue = cardValue;
     this.cardColor = cardColor;
 }
Exemplo n.º 13
0
 private static CardValueEnum[] initRankParseLookup()
 {
     CardValueEnum[] ranks = new CardValueEnum[128];
     ranks['A'] = CardValueEnum._A;
     ranks['a'] = CardValueEnum._A;
     ranks['K'] = CardValueEnum._K;
     ranks['k'] = CardValueEnum._K;
     ranks['Q'] = CardValueEnum._Q;
     ranks['q'] = CardValueEnum._Q;
     ranks['J'] = CardValueEnum._J;
     ranks['j'] = CardValueEnum._J;
     ranks['T'] = CardValueEnum._T;
     ranks['t'] = CardValueEnum._T;
     for (int i = 2; i <= 9; i++)
     {
         ranks[i.ToString()[0]] = (CardValueEnum)i;
     }
     return ranks;
 }
Exemplo n.º 14
0
 private Card(SuitEnum suit, CardValueEnum rank)
 {
     _card = (CardEnum)((int)suit + (int)rank);
 }