Example #1
0
    int handValue()
    {
        int aceCount = 0;
        int handVal  = 0;

        foreach (GameObject c in cards)
        {
            CardController cc = c.GetComponent <CardController>();
            if (!cc.cardCalculated)
            {
                cc.CalculateCard(Random.Range(0, 51));
            }

            if (cc.value == CardController.Value.ace)
            {
                aceCount++;
                handVal += 11;
            }
            else
            {
                handVal += cc.cardVal;
            }
        }

        if (handVal > 21)
        {
            if (aceCount > 0)
            {
                handVal -= 10;
                aceCount--;
            }
        }

        return(handVal);
    }