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); }
private void AddJoker(Card.Kind kind, ref int index) { Card joker = new Card(kind); _cardArray[index] = joker; index++; }
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; } } }