Console.WriteLine($"Press \"R\" to return to the main menu. \n");
checkMenu=false;
do
...
...
@@ -96,21 +117,19 @@ namespace Controller
}while(!checkMenu);
switch(gammode)
switch(gamemode)
{
case"s":
Console.Clear();
Console.WriteLine("Sibgleplayer mode selected.");
Console.WriteLine("Singleplayer mode selected.");
StartSingleplayerGame();
break;
case"m":
Console.Clear();
// Implement Multiplayer functionality here
Console.WriteLine("Multiplayer mode selected.");
StartMultiplayerGame();
// Placeholder, can be expanded based on the game logic for multiplayer
break;
case"t":
Console.Clear();
...
...
@@ -121,17 +140,19 @@ namespace Controller
}
}
/// <summary>
/// Starts Singleplayer Game
/// </summary>
privatevoidStartSingleplayerGame()
{
// Starts Game
Console.Clear();
Console.WriteLine($"Game starts with the difficulty: {difficulty}");
// Load alt game or start a new one: true -> New game, false -> Load game
// Load old game or start a new one: true -> New game, false -> Load game
boolnewGame=UserDecision();
game=newMastermindGame(difficulty,newGame);
intgeneratedCodeLength=game.GetCodeLength();
boolcheckMenu=false;
boolbreaker=false;
while(game.StillHasTrials()&&!breaker)
...
...
@@ -139,12 +160,6 @@ namespace Controller
// User input Code
int[]userInput=ReadInput(generatedCodeLength);
// Debugging (Gets removed later)
foreach(intiinuserInput)
{
Console.WriteLine(i);
}
game.AddAttempt(userInput);
game.DisplayBoard();
...
...
@@ -170,6 +185,9 @@ namespace Controller
ShowPlayAgainMenu();
}
/// <summary>
/// Starts Mulitplayer Game
/// </summary>
privatevoidStartMultiplayerGame()
{
Console.Clear();
...
...
@@ -252,6 +270,9 @@ namespace Controller
ShowPlayAgainMenu();
}
/// <summary>
/// Starts Timer-Mode
/// </summary>
privatevoidStartTimerMode()
{
Console.Clear();
...
...
@@ -305,7 +326,6 @@ namespace Controller
/// Reads the user input and checks if the input is valid
/// </summary>
/// <param name="generatedCodeLength">Specifies how long the user's code must be</param>
/// <returns></returns>
publicint[]ReadInput(intgeneratedCodeLength)
{
int[]input=newint[generatedCodeLength];
...
...
@@ -342,7 +362,6 @@ namespace Controller
{
Console.WriteLine($"Error! Please change {i} to a number between 0 and 9");
}
//Console.WriteLine($"Error! {((i == " ") ? $"Please change {i} to a number between 0 and 9" : "Please don't start and end with \" \" and also don't double it!")}");
inputCheck=false;
}
}
...
...
@@ -368,6 +387,19 @@ namespace Controller
returninput;
}
/// <summary>
/// Shows up when the time is over
/// </summary>
privatevoidTimerElapsed()
{
Console.Clear();
Console.WriteLine("Time is up! You didn't guess the code in time.");
game.SaveGame(false);
game.DeleteAutoSaveFile();
ShowPlayAgainMenu();
}
/// <summary>
/// Shows the play again menu on the console
/// </summary>
...
...
@@ -402,6 +434,36 @@ namespace Controller
}
}
/// <summary>
/// If the user wants to start a new game or play in his auto-saved one