/// <summary>
        /// When a trick is done, add points to players' scores
        /// </summary>
        /// <param name="trick"> The trick </param>
        /// <param name="winningPlayer"> The player who won the trick </param>
        /// <returns> List of messages to be sent </returns>
        protected override MessagePackets DoScoreTrick(List <Card> trick, Player winningPlayer)
        {
            foreach (Card c in trick)
            {
                if (PinochleTrickDecider.IsPoint(c))
                {
                    winningPlayer.SecretScore++;
                }
            }

            return(new MessagePackets());
        }
        /// <summary>
        /// Handle a KittyMessage
        /// </summary>
        /// <param name="kittyMessage"></param>
        /// <returns> List of messages to be sent </returns>
        public override MessagePackets HandleKitty(KittyMessage kittyMessage)
        {
            // Update player model
            Player player = GetCurrentPlayer();

            player.Cards.AddRange(Kitty);
            foreach (Card c in kittyMessage.Kitty)
            {
                player.Cards.Remove(c);
                if (PinochleTrickDecider.IsPoint(c))
                {
                    player.SecretScore++;
                }
            }

            // Initiate trump round
            return(StartTrump(GetCurrentPlayerIndex()));
        }