namespace Rock_paper_scissors
Yamen, Germbodia, PhilipineEmpire, AnastasiaPlacedFrance, Canadia, Luxemburger, VietnaminRussia
static MoveEnum GenerateRandomMove()
Random random = new Random(Guid.NewGuid().GetHashCode());
int computerMoveInt = random.Next(1, 8);
if (computerMoveInt == 1) return MoveEnum.Yamen;
if (computerMoveInt == 2) return MoveEnum.Germbodia;
if (computerMoveInt == 3) return MoveEnum.PhilipineEmpire;
if (computerMoveInt == 4) return MoveEnum.AnastasiaPlacedFrance;
if (computerMoveInt == 5) return MoveEnum.Canadia;
if (computerMoveInt == 6) return MoveEnum.Luxemburger;
if (computerMoveInt == 7) return MoveEnum.VietnaminRussia;
Console.WriteLine("Invalid Input");
static MoveEnum ReadUserMove()
Console.WriteLine("Y - Yamen, G - Germbodia, P - Philipine Empire, F - Anastasia Placed France, C- Canadia, L - Luxemburger V - Vietnam in Russia");
Console.WriteLine("Your move: ");
string userInput = Console.ReadLine().ToUpper();
if (userInput == "Y") return MoveEnum.Yamen;
if (userInput == "G") return MoveEnum.Germbodia;
if (userInput == "P") return MoveEnum.PhilipineEmpire;
if (userInput == "F") return MoveEnum.AnastasiaPlacedFrance;
if (userInput == "C") return MoveEnum.Canadia;
if (userInput == "L") return MoveEnum.Luxemburger;
if (userInput == "V") return MoveEnum.VietnaminRussia;
static string ConvertMoveToString(MoveEnum move)
if (move == MoveEnum.Yamen) return "Yamen";
if (move == MoveEnum.Germbodia) return "Germboida";
if (move == MoveEnum.PhilipineEmpire) return "Philipine Empire";
if (move == MoveEnum.AnastasiaPlacedFrance) return "Anastasia placed France";
if (move == MoveEnum.Canadia) return "Canadia";
if (move == MoveEnum.Luxemburger) return "Luxemburger";
if (move == MoveEnum.VietnaminRussia) return "Vietnam in Russia";
static GameResultEnum CompareAtoB(MoveEnum a, MoveEnum b)
if (b == MoveEnum.Yamen) return GameResultEnum.Draw;
if (b == MoveEnum.Germbodia) return GameResultEnum.Win;
if (b == MoveEnum.PhilipineEmpire) return GameResultEnum.Lose;
if (b == MoveEnum.AnastasiaPlacedFrance) return GameResultEnum.Lose;
if (b == MoveEnum.Canadia) return GameResultEnum.Lose;
if (b == MoveEnum.Luxemburger) return GameResultEnum.Win;
if (b == MoveEnum.VietnaminRussia) return GameResultEnum.Win;
if (a == MoveEnum.Germbodia)
if (b == MoveEnum.Yamen) return GameResultEnum.Lose;
if (b == MoveEnum.Germbodia) return GameResultEnum.Draw;
if (b == MoveEnum.PhilipineEmpire) return GameResultEnum.Lose;
if (b == MoveEnum.AnastasiaPlacedFrance) return GameResultEnum.Win;
if (b == MoveEnum.Canadia) return GameResultEnum.Lose;
if (b == MoveEnum.Luxemburger) return GameResultEnum.Lose;
if (b == MoveEnum.VietnaminRussia) return GameResultEnum.Win;
if (a == MoveEnum.PhilipineEmpire)
if (b == MoveEnum.Yamen) return GameResultEnum.Win;
if (b == MoveEnum.Germbodia) return GameResultEnum.Win;
if (b == MoveEnum.PhilipineEmpire) return GameResultEnum.Draw;
if (b == MoveEnum.AnastasiaPlacedFrance) return GameResultEnum.Lose;
if (b == MoveEnum.Canadia) return GameResultEnum.Lose;
if (b == MoveEnum.Luxemburger) return GameResultEnum.Win;
if (b == MoveEnum.VietnaminRussia) return GameResultEnum.Lose;
if (a == MoveEnum.AnastasiaPlacedFrance)
if (b == MoveEnum.Yamen) return GameResultEnum.Win;
if (b == MoveEnum.Germbodia) return GameResultEnum.Lose;
if (b == MoveEnum.PhilipineEmpire) return GameResultEnum.Win;
if (b == MoveEnum.AnastasiaPlacedFrance) return GameResultEnum.Draw;
if (b == MoveEnum.Canadia) return GameResultEnum.Lose;
if (b == MoveEnum.Luxemburger) return GameResultEnum.Win;
if (b == MoveEnum.VietnaminRussia) return GameResultEnum.Lose;
if (a == MoveEnum.Canadia)
if (b == MoveEnum.Yamen) return GameResultEnum.Win;
if (b == MoveEnum.Germbodia) return GameResultEnum.Lose;
if (b == MoveEnum.PhilipineEmpire) return GameResultEnum.Win;
if (b == MoveEnum.AnastasiaPlacedFrance) return GameResultEnum.Win;
if (b == MoveEnum.Canadia) return GameResultEnum.Draw;
if (b == MoveEnum.Luxemburger) return GameResultEnum.Lose;
if (b == MoveEnum.VietnaminRussia) return GameResultEnum.Lose;
if (a == MoveEnum.Luxemburger)
if (b == MoveEnum.Yamen) return GameResultEnum.Lose;
if (b == MoveEnum.Germbodia) return GameResultEnum.Win;
if (b == MoveEnum.PhilipineEmpire) return GameResultEnum.Lose;
if (b == MoveEnum.AnastasiaPlacedFrance) return GameResultEnum.Lose;
if (b == MoveEnum.Canadia) return GameResultEnum.Win;
if (b == MoveEnum.Luxemburger) return GameResultEnum.Draw;
if (b == MoveEnum.VietnaminRussia) return GameResultEnum.Win;
if (a == MoveEnum.VietnaminRussia)
if (b == MoveEnum.Yamen) return GameResultEnum.Lose;
if (b == MoveEnum.Germbodia) return GameResultEnum.Lose;
if (b == MoveEnum.PhilipineEmpire) return GameResultEnum.Win;
if (b == MoveEnum.AnastasiaPlacedFrance) return GameResultEnum.Win;
if (b == MoveEnum.Canadia) return GameResultEnum.Win;
if (b == MoveEnum.Luxemburger) return GameResultEnum.Lose;
if (b == MoveEnum.VietnaminRussia) return GameResultEnum.Draw;
return GameResultEnum.Draw;
static void Main(string[] args)
Console.WriteLine("Welcome to The Country Inside Joke game!");
MoveEnum computerMove = GenerateRandomMove();
MoveEnum userMove = ReadUserMove();
Console.WriteLine($"I played {ConvertMoveToString(computerMove)}");
GameResultEnum result = CompareAtoB(userMove, computerMove);
if (result == GameResultEnum.Win) { Console.WriteLine("You win"); userWins = userWins + 1; }
if (result == GameResultEnum.Lose) { Console.WriteLine("You lose"); computerWins = computerWins + 1; }
if (result == GameResultEnum.Draw) Console.WriteLine("It's a draw");
Console.WriteLine($"Computer has won {computerWins} times");
Console.WriteLine($"You have won {userWins} times");