Esempio n. 1
0
        public Player DecideValuableCardThrowingPlayer()
        {
            NumberOfPlayingCards++;
            DeckOfCard deckOfCard   = new DeckOfCard();
            Card       valuableCard = deckOfCard.GetCardById(IdListOfThrowingCard[0]);
            int        boardPoint   = valuableCard.Value;

            for (int i = 1; i < 4; i++)
            {
                Card tempCard = deckOfCard.GetCardById(IdListOfThrowingCard[i]);
                boardPoint += tempCard.Value;

                if (_isTrumpShow)
                {
                    if (tempCard.Suit == _trumpType)
                    {
                        if (valuableCard.Suit != _trumpType || tempCard.PriorityValue > valuableCard.PriorityValue)
                        {
                            valuableCard = tempCard;
                        }
                    }
                    else
                    {
                        if (valuableCard.Suit == tempCard.Suit && tempCard.PriorityValue > valuableCard.PriorityValue)
                        {
                            valuableCard = tempCard;
                        }
                    }
                }
                else
                {
                    if (valuableCard.Suit == tempCard.Suit && tempCard.PriorityValue > valuableCard.PriorityValue)
                    {
                        valuableCard = tempCard;
                    }
                }
            }

            Player valuablePlayer = GetPlayerByCard(valuableCard);

            SetBoardPointOfValuableCardThrowingTeam(valuablePlayer, boardPoint);
            IdListOfThrowingCard.Clear();
            MakeConnectionIdListOfCardThrowingPlayer(valuablePlayer);

            if (NumberOfPlayingCards == 8)
            {
                SetGamePoint();
            }

            return(valuablePlayer);
        }