public int TotalScore()
{
int result = 0;
foreach(Card card in this.game.CardGameSubset)
{
if (!card.isVictory)
continue;
result += this.AllOwnedCards.CountOf(card) * card.VictoryPoints(this);
}
result -= this.AllOwnedCards.CountOf(Cards.Curse);
result += this.victoryTokenCount;
return result;
}
static int ComparePlayerWinner(PlayerState first, PlayerState second) { int scoreDifference = second.TotalScore() - first.TotalScore(); if (scoreDifference > 0) { return 1; } if (scoreDifference < 0) { return -1; } return second.numberOfTurnsPlayed - first.numberOfTurnsPlayed; }