public static void HandOutCards() { var flag = false; //нужен для того, чтобы дать последнему игроку, если это возможно, удалиться. (и получить ничью) while (true) { var number = 1; foreach (var player in Players) { flag = true; player.QueueNumber = number; number++; if (Deck.Cards.Count <= 0 && player.Hand.Count == 0) { GameDurak.AllowGoNextInQueue(player); Players.Remove(player); flag = false; break; } while (player.Hand.Count < LimiterHandOutCards && Deck.Cards.Count > 0) { player.Hand.Add(Deck.Cards.Pop()); } } if (number == Players.Count + 1 && flag) { if (Players.Count == 0) { IsDraw = true; } if (Players.Count == 1) { IsFool = true; } return; } } }