internal int GetCurrentTrickResponsible()
        {
            Trick currentTrick = tricks[tricks.Count - 1];
            int   partnerID    = ((id + 2) % 4);
            int   winnerId     = currentTrick.GetCurrentTrickWinner();

            if (!currentTrick.IsFull())
            {
                Console.WriteLine("Current trick is not full to call GetResponsible!");
                if (tricks.Count > 1)
                {
                    currentTrick = tricks[tricks.Count - 2];
                }
            }

            if (currentTrick.IsFull())
            {
                if (winnerId == id || winnerId == partnerID)
                {
                    return(winnerId);
                }
                else
                {
                    int myPlayPoints      = Card.GetValue(currentTrick.GetPlayOf(id));
                    int partnerPlayPoints = Card.GetValue(currentTrick.GetPlayOf(partnerID));
                    if (myPlayPoints > 0 || partnerPlayPoints > 0)
                    {
                        return(myPlayPoints >= partnerPlayPoints ? id : partnerID);
                    }
                    else
                    {
                        return(winnerId);
                    }
                }
            }
            return(winnerId);
        }