Belot.CardPointEvaluator.EvaluateCard C# (CSharp) Метод

EvaluateCard() публичный статический Метод

Evaluates points for a card in a game
public static EvaluateCard ( AnnouncementTypeEnum gameType, Card card ) : int
gameType AnnouncementTypeEnum curent game
card Card card to be evaluated
Результат int
        public static int EvaluateCard( AnnouncementTypeEnum gameType, Card card )
        {
            int val = 0;
            switch( gameType )
            {
                case AnnouncementTypeEnum.AllTrumps :
                    val = EvaluateTrumps( card );
                    break;
                case AnnouncementTypeEnum.NoTrumps :
                    val =  EvaluateNoTrumps( card );
                    break;
                case AnnouncementTypeEnum.Spades :
                    if( card.CardColor == CardColor.Spades )
                        val =  EvaluateTrumps( card );
                    else
                        val =  EvaluateNoTrumps( card );
                    break;
                case AnnouncementTypeEnum.Hearts :
                    if( card.CardColor == CardColor.Hearts )
                        val =  EvaluateTrumps( card );
                    else
                        val =  EvaluateNoTrumps( card );
                    break;
                case AnnouncementTypeEnum.Diamonds :
                    if( card.CardColor == CardColor.Diamonds )
                        val =  EvaluateTrumps( card );
                    else
                        val =  EvaluateNoTrumps( card );
                    break;
                case AnnouncementTypeEnum.Clubs :
                    if( card.CardColor == CardColor.Clubs )
                        val =  EvaluateTrumps( card );
                    else
                        val =  EvaluateNoTrumps( card );
                    break;
                case AnnouncementTypeEnum.Pass :
                    break;
            }
            return val;
        }

Usage Example

Пример #1
0
        private void CalculatePoints(Hand lastHand)
        {
            PlayerPosition pos = lastHand.Winner.Position;

            if (pos == PlayerPosition.East || pos == PlayerPosition.West)
            {
                foreach (Card card in lastHand)
                {
                    _eastWestPoints += CardPointEvaluator.EvaluateCard(this._currentAnnouncement.Type, card);
                }
            }
            else
            {
                foreach (Card card in lastHand)
                {
                    _northSouthPoints += CardPointEvaluator.EvaluateCard(this._currentAnnouncement.Type, card);
                }
            }
        }