/// <summary>
        /// Deal card to player.
        /// </summary>
        /// <param name="pclient">The client.</param>
        /// <param name="receiver">Receiving player.</param>
        /// <param name="card">Card dealt.</param>
        public static void DealCard(PirateClient pclient, Player receiver, Card card)
        {
            Contract.Requires(pclient != null && receiver != null && card != null);
            var body = PirateMessage.ConstructBody(PirateMessage.ConstructPlayerName(receiver.Name), card.ToString());
            var msg = new PirateMessage(PirateMessageHead.Xcrd, body);

            if(!pclient.VirtualPlayer)
                Console.WriteLine(pclient.Name + ": Dealing " + card.ToShortString() + " to " + receiver.Name);
            pclient.SendMessage(msg);
        }
 /// <summary>
 /// Play a card.
 /// </summary>
 /// <param name="pclient">The client.</param>
 /// <param name="card">Card to be played.</param>
 public static void PlayCard(PirateClient pclient, Card card)
 {
     Contract.Requires(pclient != null && card != null);
     var body = PirateMessage.ConstructBody(pclient.ToString(), card.ToString());
     var msg = new PirateMessage(PirateMessageHead.Pcrd, body);
     pclient.SendMessage(msg);
 }