Bonus points at end of game for longest and highest scored words
Create four local variables in the main game class.
private static int highestScoredWord = 0;
private static string highestScoredWordByPlayer = String.Empty;
private static int longestScoredWord = 0;
private static string longestScoredWordByPlayer = String.Empty;
Then in the Have Turn method, after the player has entered a valid choice
private static void HaveTurn(string PlayerName, ref string PlayerTiles, ref int PlayerTilesPlayed, ref int PlayerScore, Dictionary<char, int> TileDictionary, ref QueueOfTiles TileQueue, List<string> AllowedWords, int MaxHandSize, int NoOfEndOfTurnTiles) {
// Some Stuff Was Here
if (ValidWord) {
if (Choice.Length > longestScoredWord) {
longestScoredWord = Choice.Length;
longestScoredWordByPlayer = PlayerName;
}
if (GetScoreForWord(Choice, TileDictionary) > highestScoredWord) {
highestScoredWord = GetScoreForWord(Choice, TileDictionary);
highestScoredWordByPlayer = PlayerName;
}
// Some stuff is here
}
}
Then in play game before displaying the winner, add any earned points.
private static void PlayGame(List<string> AllowedWords, Dictionary<char, int> TileDictionary, bool RandomStart, int StartHandSize, int MaxHandSize, int MaxTilesPlayed, int NoOfEndOfTurnTiles) {
// Some Stuff Was Here
if (highestScoredWordByPlayer == "Player One") {
PlayerOneScore += 10;
} else if (highestScoredWordByPlayer == "Player Two") {
PlayerTwoScore += 10;
}
if (longestScoredWordByPlayer == "Player One") {
PlayerOneScore += 10;
} else if (longestScoredWordByPlayer == "Player Two") {
PlayerTwoScore += 10;
}
DisplayWinner(PlayerOneScore, PlayerTwoScore);
}