mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2025-12-29 14:15:08 -08:00
Isolate prompting from game
Move the user input out of the game logic.
This commit is contained in:
@@ -36,14 +36,8 @@ namespace hurkle
|
||||
*/
|
||||
for(var K=1;K<=guesses;K++)
|
||||
{
|
||||
Console.WriteLine($"GUESS #{K}");
|
||||
var inputLine = Console.ReadLine();
|
||||
var seperateStrings = inputLine.Split(',', 2, StringSplitOptions.TrimEntries);
|
||||
var guessPoint = new GamePoint{
|
||||
X = int.Parse(seperateStrings[0]),
|
||||
Y = int.Parse(seperateStrings[1])
|
||||
};
|
||||
|
||||
var guessPoint = GetGuess(new GuessViewModel{CurrentGuessNumber = K});
|
||||
|
||||
if(guessPoint.GetDirectionTo(hurklePoint) == CardinalDirection.None)
|
||||
{
|
||||
/*
|
||||
@@ -70,6 +64,24 @@ namespace hurkle
|
||||
Console.WriteLine($"THE HURKLE IS AT {hurklePoint.X},{hurklePoint.Y}");
|
||||
}
|
||||
|
||||
private class GuessViewModel
|
||||
{
|
||||
public int CurrentGuessNumber {get;init;}
|
||||
}
|
||||
|
||||
private static GamePoint GetGuess(GuessViewModel model)
|
||||
{
|
||||
Console.WriteLine($"GUESS #{model.CurrentGuessNumber}");
|
||||
var inputLine = Console.ReadLine();
|
||||
var seperateStrings = inputLine.Split(',', 2, StringSplitOptions.TrimEntries);
|
||||
var guessPoint = new GamePoint{
|
||||
X = int.Parse(seperateStrings[0]),
|
||||
Y = int.Parse(seperateStrings[1])
|
||||
};
|
||||
|
||||
return guessPoint;
|
||||
}
|
||||
|
||||
private static void PrintInfo(GamePoint guess, GamePoint target)
|
||||
{
|
||||
Console.Write("GO ");
|
||||
|
||||
Reference in New Issue
Block a user