//a round of hearts diffinetion public Round PlayRound(Round round) { RandomGenerator random = new RandomGenerator(); //Shuffling CardDeck CardHandler cardHandler = new CardHandler(); cardHandler.ShuffleCards(round.CardDeck); Round playedRound = new Round(); // Dealing Cards to players DealCards(round.PlayerA, round.PlayerB, round.PlayerC, round.PlayerD, round.CardDeck); Card firstCardOfRound = FindClubs2(round.PlayerA, round.PlayerB, round.PlayerC, round.PlayerD, round.CardDeck); CardDeck cardsPlayed = new CardDeck(); cardsPlayed.cardDeck.Clear(); int counter = 1; while (counter != 52) { playedRound = ExecuteRound(round.PlayerA, round.PlayerB, round.PlayerC, round.PlayerD, firstCardOfRound); counter = counter + 3; //Choose a random card for the player to lay if (counter < 52) { int randomIndex = random.RandomNumber(0, playedRound.PlayerWhoLostRound.PlayerCards.Count - 1); firstCardOfRound = playedRound.PlayerWhoLostRound.PlayerCards[randomIndex]; if (playedRound.PlayerWhoLostRound.PlayerName == round.PlayerA.PlayerName) { cardsPlayed.cardDeck.Add(FindAndPlayCard(round.PlayerA, firstCardOfRound)); } else if (playedRound.PlayerWhoLostRound.PlayerName == round.PlayerB.PlayerName) { cardsPlayed.cardDeck.Add(FindAndPlayCard(round.PlayerB, firstCardOfRound)); } else if (playedRound.PlayerWhoLostRound.PlayerName == round.PlayerC.PlayerName) { cardsPlayed.cardDeck.Add(FindAndPlayCard(round.PlayerC, firstCardOfRound)); } else if (playedRound.PlayerWhoLostRound.PlayerName == round.PlayerD.PlayerName) { cardsPlayed.cardDeck.Add(FindAndPlayCard(round.PlayerD, firstCardOfRound)); } counter = counter + 1; } } return(round); }