Difference between revisions of "Add the ability to set the player names"
Line 24: | Line 24: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Just swap "Player One" and "Player Two" with your variables for the player's names | + | Just swap "Player One" and "Player Two" with your variables for the player's names, like so: |
<syntaxhighlight lang=Csharp> | <syntaxhighlight lang=Csharp> | ||
Line 36: | Line 36: | ||
HaveTurn(PlayerTwoName, ref PlayerTwoTiles, ref PlayerTwoTilesPlayed, ref PlayerTwoScore, TileDictionary, ref TileQueue, AllowedWords, MaxHandSize, NoOfEndOfTurnTiles); | HaveTurn(PlayerTwoName, ref PlayerTwoTiles, ref PlayerTwoTilesPlayed, ref PlayerTwoScore, TileDictionary, ref TileQueue, AllowedWords, MaxHandSize, NoOfEndOfTurnTiles); | ||
} | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | A few changes also need to be made to DisplayWinner. | ||
+ | |||
+ | <syntaxhighlight lang=Csharp> | ||
+ | { | ||
+ | Console.WriteLine(); | ||
+ | Console.WriteLine("**** GAME OVER! ****"); | ||
+ | Console.WriteLine(); | ||
+ | Console.WriteLine(PlayerOneName + ", your score is " + PlayerOneScore); | ||
+ | Console.WriteLine(PlayerTwoName + ", your score is " + PlayerTwoScore); | ||
+ | if (PlayerOneScore > PlayerTwoScore) | ||
+ | { | ||
+ | Console.WriteLine(PlayerOneName + " wins!"); | ||
+ | } | ||
+ | else if (PlayerTwoScore > PlayerOneScore) | ||
+ | { | ||
+ | Console.WriteLine(PlayerTwoName + " wins!"); | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | Console.WriteLine("It is a draw!"); | ||
+ | } | ||
+ | Console.WriteLine(); | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 11:26, 20 November 2017
Somewhere near the top of HaveTurn, while you're declaring variables, you'll want to add the following code:
// something here...
Console.WriteLine("Player One, input your name:");
string PlayerOneName = Convert.ToString(Console.ReadLine());
Console.WriteLine("Player Two, input you name:");
string PlayerTwoName = Convert.ToString(Console.ReadLine());
// something here...
Lower down, there's a while loop that looks like this:
while (PlayerOneTilesPlayed <= MaxTilesPlayed && PlayerTwoTilesPlayed <= MaxTilesPlayed && PlayerOneTiles.Length < MaxHandSize && PlayerTwoTiles.Length < MaxHandSize)
{
HaveTurn("Player One", ref PlayerOneTiles, ref PlayerOneTilesPlayed, ref PlayerOneScore, TileDictionary, ref TileQueue, AllowedWords, MaxHandSize, NoOfEndOfTurnTiles);
Console.WriteLine();
Console.WriteLine("Press Enter to continue");
Console.ReadLine();
Console.WriteLine();
HaveTurn("Player Two", ref PlayerTwoTiles, ref PlayerTwoTilesPlayed, ref PlayerTwoScore, TileDictionary, ref TileQueue, AllowedWords, MaxHandSize, NoOfEndOfTurnTiles);
}
Just swap "Player One" and "Player Two" with your variables for the player's names, like so:
while (PlayerOneTilesPlayed <= MaxTilesPlayed && PlayerTwoTilesPlayed <= MaxTilesPlayed && PlayerOneTiles.Length < MaxHandSize && PlayerTwoTiles.Length < MaxHandSize)
{
HaveTurn(PlayerOneName, ref PlayerOneTiles, ref PlayerOneTilesPlayed, ref PlayerOneScore, TileDictionary, ref TileQueue, AllowedWords, MaxHandSize, NoOfEndOfTurnTiles);
Console.WriteLine();
Console.WriteLine("Press Enter to continue");
Console.ReadLine();
Console.WriteLine();
HaveTurn(PlayerTwoName, ref PlayerTwoTiles, ref PlayerTwoTilesPlayed, ref PlayerTwoScore, TileDictionary, ref TileQueue, AllowedWords, MaxHandSize, NoOfEndOfTurnTiles);
}
A few changes also need to be made to DisplayWinner.
{
Console.WriteLine();
Console.WriteLine("**** GAME OVER! ****");
Console.WriteLine();
Console.WriteLine(PlayerOneName + ", your score is " + PlayerOneScore);
Console.WriteLine(PlayerTwoName + ", your score is " + PlayerTwoScore);
if (PlayerOneScore > PlayerTwoScore)
{
Console.WriteLine(PlayerOneName + " wins!");
}
else if (PlayerTwoScore > PlayerOneScore)
{
Console.WriteLine(PlayerTwoName + " wins!");
}
else
{
Console.WriteLine("It is a draw!");
}
Console.WriteLine();
}