void RunGameLoop() { RPSConsoleWriter.DisplayChosen(UserSelection, ConsoleSelection); DetermineWinner(UserSelection, ConsoleSelection); TryRestartGame(); }
protected override void StartGameCore() { ConsoleSelection = GetConsoleSelection(); UserSelection = GetUserSelection(); if (UserSelection == null) { RPSConsoleWriter.InformInvalidChoice(); StartGame(); } RunGameLoop(); }
void DetermineWinner(IRPSMove userSelection, IRPSMove consoleSelection) { var result = userSelection.EvaluateRound(consoleSelection); switch (result) { case RPSResult.Tie: RPSConsoleWriter.ShowTieOutput(userSelection, consoleSelection); break; case RPSResult.Win: RPSConsoleWriter.ShowWinOutput(userSelection, consoleSelection); break; case RPSResult.Lose: RPSConsoleWriter.ShowLoseOutput(userSelection, consoleSelection); break; } }
public RPSEngine() { RPSConsoleWriter.WriteTitle(); }