/// <summary> /// One round which is one player's guess. /// </summary> /// <param name="guess">Number that user wrote.</param> /// <param name="answer">Computer's answer to the <see cref="Number"/>.</param> /// <param name="status">Contains information about this game status.</param> public Round(int?guess, Answer?answer, GameStatus status) { Number = guess; Answer = answer; Status = status; Time = DateTime.Now; }
private Answer AskYesNoCancelQuestion(string txt, Answer?dft = null) { var cr = new ConsoleReader(); cr.Prefix = $"{txt} (y)es / (n)o / (c)ancel: "; while (true) { string dftinput = ""; if (dft.HasValue) { dftinput = dft.Value == Answer.Yes ? "y" : (dft.Value == Answer.No ? "n" : "c"); } var input = cr.Read(dftinput).ToLowerInvariant(); if (input == "y" || input == "yes") { return(Answer.Yes); } if (input == "n" || input == "no") { return(Answer.No); } if (input == "c" || input == "cancel") { return(Answer.Cancel); } } }
public void GiveAnswer(Answer answer) { GivenAnswer = answer; TryClose(); }
public QuestionResult CancelOn(Answer answer) { _cancelAnswer = answer; return this; }