AIPlayers.AIPlayer.GetDistance C# (CSharp) Method

GetDistance() private method

private GetDistance ( Card card, Card maxCard, Announcement announce ) : int
card Belot.Card
maxCard Belot.Card
announce Belot.Announcement
return int
        private int GetDistance( Card card, Card maxCard, Announcement announce )
        {
            int distance = 0;
            if ( card.CardColor != maxCard.CardColor )
            {
                throw new ArgumentException( "When comparing distance between two cards, they must have same color" );
            }

            CardColor trumpColor = GetTrumpColor();

            switch ( announce.Type )
            {
                case AnnouncementTypeEnum.AllTrumps:
                    distance = GetDistanceTrumps( card, maxCard );
                    break;
                case AnnouncementTypeEnum.NoTrumps:
                    distance = GetDistanceNoTrumps( card, maxCard );
                    break;
                case AnnouncementTypeEnum.Spades:
                case AnnouncementTypeEnum.Hearts:
                case AnnouncementTypeEnum.Diamonds:
                case AnnouncementTypeEnum.Clubs:
                    if ( card.CardColor == trumpColor )
                        distance = GetDistanceTrumps( card, maxCard );
                    else
                        distance = GetDistanceNoTrumps( card, maxCard );
                    break;
            }

            return distance;
        }