static void Main(string[] args) { List <Player> opponents = new List <Player>(); opponents.Add(new RandomPlayer("Ran Dumb")); opponents.Add(new DwayneJohnson("Dwayne Johnson")); Console.WriteLine("~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~"); Console.WriteLine("Welcome to the Rock Paper Scissors Simulator"); Console.WriteLine("~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~\n"); string name = HumanPlayer.GetName("Please enter your name: "); HumanPlayer human = new HumanPlayer(name); bool again = true; while (again) { int choose = Validator.ChooseOpponent($"Hi {human.Name}! Please select your opponent.\nChoose 1 for Ran Dumb or 2 for Dwayne Johnson.\n"); Roshambo choice = human.GenerateRoshambo(); human.Choice = choice; if (opponents[choose] is RandomPlayer) { Roshambo opponentChoice = ((RandomPlayer)opponents[choose]).GenerateRoshambo(); string result = Validator.RoshamResults(human, opponents[choose], human.Choice, (opponents[choose]).Choice); Console.WriteLine(human.ToString() + opponents[choose].ToString() + result); } else { Roshambo opponentChoice = ((DwayneJohnson)opponents[choose]).GenerateRoshambo(); string result = Validator.RoshamResults(human, opponents[choose], human.Choice, (opponents[choose]).Choice); Console.WriteLine(human.ToString() + opponents[choose].ToString() + result); } Console.WriteLine($"You won {Validator.win} time(s) and lost {Validator.lose} time(s).\n"); again = Validator.DoAgain("Would you like to play again? (Y or N)\n"); } Console.WriteLine("Goodbye!"); Console.ReadLine(); }
public static void Counter(ref int wins, ref int losses, Human UserName, Player Opponent, Roshambo Input, Roshambo AI) { Console.WriteLine($"{UserName.Name}: {Input}\n{Opponent.Name}:{AI.ToString()}"); Console.WriteLine(WinorLoss(Input, AI)); if (WinorLoss(Input, AI) == "You lose!") { losses++; } if (WinorLoss(Input, AI) == "You win!") { wins++; } }
public override Roshambo generateRoshambo(Roshambo x) { return(Roshambo.rock); }
public override Roshambo GenerateRoshambo() { Roshambo Choice = Validator.ValidateChoice($"Okay, {Name}, please choose rock, paper, or scissors. (R / P / S)\n"); return(Choice); }
public abstract Roshambo generateRoshambo(Roshambo x);
public static string RoshamResults(Player human, Player opponent, Roshambo choice, Roshambo opponentChoice) { string result = ""; if (choice == Roshambo.paper) { if (opponentChoice == Roshambo.paper) { result = "Draw!"; } else if (opponentChoice == Roshambo.rock) { win++; result = $"You win!"; } else { lose++; result = $"{opponent.Name} wins!"; } } else if (choice == Roshambo.rock) { if (opponentChoice == Roshambo.rock) { result = "Draw!"; } else if (opponentChoice == Roshambo.scissors) { win++; result = $"You win!"; } else { lose++; result = $"{opponent.Name} wins!"; } } else { if (opponentChoice == Roshambo.paper) { win++; result = $"You win!"; } else if (opponentChoice == Roshambo.rock) { lose++; result = $"{opponent.Name} wins!"; } else { result = "Draw!"; } } return(result); }