public void NextPlayCard(Card mCardToPlay) { GameForm.AddLog(string.Format("{0} plays {1}", CurrentPlayer.Name, mCardToPlay.ToString())); CurrentPlayer.PlayedCard(mCardToPlay); bool lastPlayer = (Table.Count == Players.Count); if (lastPlayer) { Card bestCard = Table.First(); for (int i = 0; i < Table.Count; i++) { if (Table[i].IsWinnerAgainst(bestCard)) bestCard = Table[i]; } Player winnerPlayer = bestCard.LastPlayer; GameForm.AddLog(string.Format("{0} is the best card, played by {1}", bestCard.ToString(), winnerPlayer.Name)); for (int index = 0; index < Table.Count; index++) { Card card = Table[index]; winnerPlayer.Taken.Add(card); GameForm.AddLog(string.Format("{0} wins {1}", winnerPlayer.Name, card.ToString())); } Table.Clear(); NextPlayer(winnerPlayer); NextDeal(); } else { NextPlayer(); } }