Example #1
0
        public void InitJudgeCondition()
        {
            int sum   = 0;
            int point = int.MinValue;

            Card.Kind  kind      = Card.Kind.invalid;
            List <int> pointList = new List <int>();

            for (int i = 0; i < _cardList.Count; i++)
            {
                Card card = _cardList[i];
                if (card.IsJoker())
                {
                    JokerCount += 1;
                }
                else
                {
                    sum += card.CounterPoint;
                    pointList.Add(card.Point);
                    JudgeSamePoint(card, ref point, ref IsSamePoint);
                    JudgeSameKind(card, ref kind, ref IsSameKind);
                }
            }

            IsInvalid    = (JokerCount == 1) && (_cardList.Count == 2);
            IsTwoJoker   = (JokerCount == 2) && (_cardList.Count == 2);
            IsThreeJoker = JokerCount == 3;
            OnesDigit    = (JokerCount > 0) ? 9 : sum % 10;
            JudgeStraight(JokerCount, pointList, ref IsStraight);
        }
Example #2
0
        private void AddJoker(Card.Kind kind, ref int index)
        {
            Card joker = new Card(kind);

            _cardArray[index] = joker;
            index++;
        }
Example #3
0
 private void JudgeSameKind(Card card, ref Card.Kind kind, ref bool isSameKind)
 {
     if (isSameKind)
     {
         if (kind == Card.Kind.invalid)
         {
             kind = card.CardKind;
         }
         else if (kind != card.CardKind)
         {
             isSameKind = false;
         }
     }
 }