Пример #1
0
        public RPSResult EvaluateRound(IRPSMove opponentsMove)
        {
            switch (opponentsMove)
            {
            case RockRPSMove _:
                return(RPSResult.Tie);

            case PaperRPSMove _:
                return(RPSResult.Lose);

            case ScissorsRPSMove _:
                return(RPSResult.Win);

            default:
                return(RPSResult.Tie);
            }
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
 public static void ShowLoseOutput(IRPSMove userSelection, IRPSMove consoleSelection)
 {
     Console.WriteLine($"{userSelection} loses to {consoleSelection}. You LOSE :(");
 }
Пример #4
0
 public static void ShowWinOutput(IRPSMove userSelection, IRPSMove consoleSelection)
 {
     Console.WriteLine($"{userSelection} beats {consoleSelection}! You WIN :)");
 }
Пример #5
0
 public static void ShowTieOutput(IRPSMove userSelection, IRPSMove consoleSelection)
 {
     Console.WriteLine($"{userSelection} ties with {consoleSelection}.");
 }
Пример #6
0
 public static void DisplayChosen(IRPSMove userSelection, IRPSMove consoleSelection)
 {
     Console.WriteLine("You chose: " + userSelection);
     Console.WriteLine("Console chose: " + consoleSelection);
     Console.WriteLine();
 }