public void CountPlayersPoints() { var firstTeam = true; foreach (var player in Players) { var playedCards = CardsPlayedByPlayers[player]; var playerPoints = BelotteRules.ComputePoints(Trump, playedCards); if (player.Equals(LastTrickWinner)) { playerPoints += 10; } if (firstTeam) { firstTeam = false; FirstTeamPoints += playerPoints; } else { firstTeam = true; SecondTeamPoints += playerPoints; } } }
public void Play(Dictionary <IPlayer, List <Card> > cardsHeldByPlayers, Dictionary <IPlayer, List <Card> > cardsPlayedByPlayers) { if (!cardsHeldByPlayers.Any()) { return; } PlayedCards = new Dictionary <IPlayer, Card>(); foreach (var player in PlayersOrdered) { var playerCards = cardsHeldByPlayers[player]; var playedCard = player.Play(playerCards); PlayedCards[player] = playedCard; cardsHeldByPlayers[player].Remove(playedCard); if (cardsPlayedByPlayers.ContainsKey(player)) { cardsPlayedByPlayers[player].Add(playedCard); } } Taker = BelotteRules.ComputeTaker(Trump, PlayedCards); }