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); }