static Play() { _listOfPlayers = new List <Player>(); _allGuesses = new List <int>(); _createPlayer = new List <Func <Player> >(); _createPlayer.Add(() => Casual.CreatePlayer()); _createPlayer.Add(() => Note.CreatePlayer()); _createPlayer.Add(() => Uber.CreatePlayer()); _createPlayer.Add(() => Cheater.CreatePlayer()); _createPlayer.Add(() => UberCheater.CreatePlayer()); _typeOfPlayers = new Dictionary <int, string> { { 0, "Casual" }, { 1, "Note" }, { 2, "Uber" }, { 3, "Cheater" }, { 4, "UberCheater" } }; }
static void Main(string[] args) { int size; string input; var rand = new Random(); var bucketWeight = rand.Next(40, 140); Console.WriteLine("Bucket weight: " + bucketWeight); do { Console.Write("1) Play \n2) Exit \n\nYour choice: "); input = Console.ReadLine(); int cases; Int_Digits_check(input, out cases); switch (cases) { case 1: Console.WriteLine("Starting"); Console.WriteLine("Enter the amount of players"); input = Console.ReadLine(); Borders(2, 8, input, out size); Player[] playersList = new Player[size]; for (int i = 0; i < size; i++) { Console.Write("Enter the type of player:\n 1) Simple player \n2) Note player \n3) Uber-player \n4) Cheater \n5) Uber-cheater \n6 Exit \n\nYour choice: "); input = Console.ReadLine(); Int_Digits_check(input, out cases); switch (cases) { case 1: Console.WriteLine("Simple player. Give him a name."); playersList[i] = new SimplePlayer(Console.ReadLine()); break; case 2: Console.WriteLine("Note player. Give him a name. "); playersList[i] = new NotePlayer(Console.ReadLine()); break; case 3: Console.WriteLine("Uber-player. Give him a name. "); playersList[i] = new UberPlayer(Console.ReadLine()); break; case 4: Console.WriteLine("Cheater. Give him a name. "); playersList[i] = new Cheater(Console.ReadLine()); break; case 5: Console.WriteLine("Uber-cheater. Give him a name. "); playersList[i] = new UberCheater(Console.ReadLine()); break; case 6: Console.WriteLine("Exit"); return; default: Console.WriteLine("Error. Choose the menu item again."); break; } } for (int i = 0; i < 100; i++) { foreach (Player s in playersList) { s.Guess(bucketWeight); } } int nearestValue = playersList[size - 1].niceTry; foreach (Player s in playersList) { if (Math.Abs(nearestValue - bucketWeight) > Math.Abs(s.niceTry - bucketWeight)) { nearestValue = s.niceTry; } } for (int i = 0; i < size; i++) { if (playersList[i].niceTry == nearestValue) { Console.WriteLine($"{playersList[i].Name} has won the game!"); } } break; case 2: Console.WriteLine("Exit"); return; default: Console.WriteLine("Error. Choose the menu item again."); break; } } while (true); }
static void Main(string[] args) { List <Player> PlayersList = new List <Player>(); Player normalPlayer = new NormalPlayer("Normal Player"); PlayersList.Add(normalPlayer); Player textbookPlayer = new TextBookPlayer("TextBook Player"); PlayersList.Add(textbookPlayer); Player uberPlayer = new UberPlayer("Uber Player"); PlayersList.Add(uberPlayer); Player cheater = new Cheater("Cheater"); PlayersList.Add(cheater); Player uberCheater = new UberCheater("Uber Cheater"); PlayersList.Add(uberCheater); int bucketweight = CustomRandom.GetNext(); Player closestPlayer = null; int closestWeight = 150; Console.WriteLine($"{bucketweight} is Bucket Weight"); bool isgamefinished = false; for (int i = 0; i < 100; i++) { foreach (Player player in PlayersList) { int number = player.GetNumber(); Console.WriteLine($"{player.Name} select number {number}"); if (number == bucketweight) { Console.WriteLine($"{player.Name} won"); isgamefinished = true; break; } else if (Math.Abs(number - bucketweight) < closestWeight) { closestWeight = Math.Abs(number - bucketweight); closestPlayer = player; } } if (isgamefinished) { break; } } if (!isgamefinished) { Console.WriteLine($"{closestPlayer.Name} won because he had closest guess"); } Console.ReadKey(); }
static void Main(string[] args) { int switcher = 0; bool IsSwitcher = false; int[] allAnswers = new int[100]; int howMuchGamers = 0; int toChooseTypes = 0; Player[] gamers = new Player[8]; Random rand = new Random((int)DateTime.Now.Ticks); int winDigit = rand.Next(40, 140); Console.WriteLine("Hi, member!Let's see our game!"); do { Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Do some options with choose of count and type of player (press right number)"); Console.WriteLine("1.Start your Programm"); Console.WriteLine("2.See all digits and arrays (for admin)"); Console.WriteLine("3.Choose options for game"); Console.WriteLine("4.Clear All Data"); Console.WriteLine("5.Exit"); switcher = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(); switch (switcher) { case 1: Console.WriteLine($"Our winDigit is {winDigit}."); if (gamers[0] == null) { Console.WriteLine("U can't start, choose options firstly!"); } else { for (int i = 0; i < gamers.Length; i++) { if (gamers[i] != null) { gamers[i].Play(winDigit, ref allAnswers, i, howMuchGamers); } } } break; case 2: Console.WriteLine($"Our winDigit is {winDigit}."); Console.WriteLine("Full array of tries :"); for (int i = 0; i < allAnswers.Length; i++) { Console.Write(allAnswers[i] + " "); } break; case 3: do { Console.WriteLine("Enter number of members between 2 and 8"); howMuchGamers = Convert.ToInt32(Console.ReadLine()); if (howMuchGamers >= 9 || howMuchGamers <= 1) { Console.WriteLine("Try again!"); } } while (howMuchGamers >= 9 || howMuchGamers <= 1); do { Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Enter number to choose or other to end option!"); Console.WriteLine("1.Create BasikPlayer"); Console.WriteLine("2.Create Cheater"); Console.WriteLine("3.Create NodeGamer"); Console.WriteLine("4.Create UberGamer"); Console.WriteLine("5.Create UberCheater"); switcher = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(); switch (switcher) { case 1: for (int i = 0; i < gamers.Length; i++) { if (gamers[i] == null) { var basikPlayer = new BasikGamer(howMuchGamers); gamers[i] = basikPlayer; Console.WriteLine("BasikGamer was Created"); toChooseTypes++; break; } } break; case 2: for (int i = 0; i < gamers.Length; i++) { if (gamers[i] == null) { var cheaterPlayer = new Cheater(howMuchGamers); gamers[i] = cheaterPlayer; Console.WriteLine("Cheater was Created"); toChooseTypes++; break; } } break; case 3: for (int i = 0; i < gamers.Length; i++) { if (gamers[i] == null) { var nodePlayer = new NodeGamer(howMuchGamers); gamers[i] = nodePlayer; Console.WriteLine("nodePlayer was Created"); toChooseTypes++; break; } } break; case 4: for (int i = 0; i < gamers.Length; i++) { if (gamers[i] == null) { var uberPlayer = new UberGamer(howMuchGamers); gamers[i] = uberPlayer; Console.WriteLine("UberGamer was Created"); toChooseTypes++; break; } } break; case 5: for (int i = 0; i < gamers.Length; i++) { if (gamers[i] == null) { var uberCheaterPlayer = new UberCheater(howMuchGamers); gamers[i] = uberCheaterPlayer; Console.WriteLine("UberCheater was Created"); toChooseTypes++; break; } } break; default: Console.WriteLine("Missed! Try Again!"); break; } }while (toChooseTypes != howMuchGamers); IsSwitcher = false; break; case 4: for (int i = 0; i < gamers.Length; i++) { gamers[i] = null; } for (int i = 0; i < allAnswers.Length; i++) { allAnswers[i] = 0; } Console.WriteLine("All data was cleared!"); break; case 5: IsSwitcher = true; break; default: Console.WriteLine("U need to write number of operation."); Console.WriteLine("Try Again pls. Ok?"); break; } }while (IsSwitcher == false); Console.WriteLine("All players was choosen!"); }
static void Main() { Storage storage = new Storage(); Console.WriteLine("Chose number of players form 2 to 8"); int number; do { Console.Write("Number of players"); } while (!int.TryParse(Console.ReadLine(), out number) || number == 0); switch (number) { case 2: string[] names = new string[2]; for (int i = 0; i < 2; i++) { Console.Write($"Name of {i + 1} player: "); names[i] = Console.ReadLine(); } Cheater cheater = new Cheater(names[0]); CommonStudent commonStudent = new CommonStudent(names[1]); ListOfStudents.studentList.Add(cheater); ListOfStudents.studentList.Add(commonStudent); break; case 3: string[] names2 = new string[3]; for (int i = 0; i < 3; i++) { Console.Write($"Name of {i + 1} player: "); names2[i] = Console.ReadLine(); } Cheater cheater2 = new Cheater(names2[0]); CommonStudent commonStudent2 = new CommonStudent(names2[1]); UberCheater ubercheater = new UberCheater(names2[2]); ListOfStudents.studentList.Add(cheater2); ListOfStudents.studentList.Add(commonStudent2); ListOfStudents.studentList.Add(ubercheater); break; case 4: string[] names4 = new string[4]; for (int i = 0; i < 4; i++) { Console.Write($"Name of {i + 1} player: "); names4[i] = Console.ReadLine(); } Cheater cheater4 = new Cheater(names4[0]); CommonStudent commonStudent4 = new CommonStudent(names4[1]); UberCheater ubercheater4 = new UberCheater(names4[2]); UberStudent uberStudent = new UberStudent(names4[3]); ListOfStudents.studentList.Add(cheater4); ListOfStudents.studentList.Add(commonStudent4); ListOfStudents.studentList.Add(ubercheater4); ListOfStudents.studentList.Add(uberStudent); break; case 5: string[] names5 = new string[5]; for (int i = 0; i < 5; i++) { Console.Write($"Name of {i + 1} player: "); names5[i] = Console.ReadLine(); } Cheater cheater5 = new Cheater(names5[0]); CommonStudent commonStudent5 = new CommonStudent(names5[1]); UberCheater ubercheater5 = new UberCheater(names5[2]); UberStudent uberStudent5 = new UberStudent(names5[3]); StudentNotebook studentNotebook5 = new StudentNotebook(names5[4]); ListOfStudents.studentList.Add(cheater5); ListOfStudents.studentList.Add(commonStudent5); ListOfStudents.studentList.Add(ubercheater5); ListOfStudents.studentList.Add(uberStudent5); ListOfStudents.studentList.Add(studentNotebook5); break; } int iterations = 0; do { foreach (IBaseStudent student in ListOfStudents.studentList) { if (student.Guess(storage)) { Console.WriteLine($"Winner {student.Name}"); break; } } iterations++; } while (iterations < 100); Console.ReadKey(); }
static void Main(string[] args) { // value, that players need to guess and maximum number of turns int valueToGuess = 45; int maxNumberOfTurns = 100; int minValueToGuess = 40; int maxValueToGuess = 140; bool continueGame = true; do { Console.WriteLine($"Choose your action\n1 - Play new game\n2 - Exit"); int action = int.Parse(Console.ReadLine()); Menu menuOperation = (Menu)action; // simple menu logic switch (menuOperation) { case Menu.Newgame: { try { Console.WriteLine("Enter value to guess"); valueToGuess = int.Parse(Console.ReadLine()); if (valueToGuess < minValueToGuess || valueToGuess > maxValueToGuess) { throw new ArgumentOutOfRangeException(); } // create a new game Game myGame = new Game(valueToGuess, maxNumberOfTurns); // create new players add add them to the game RegularPlayer myRegularPlayer = new RegularPlayer("Vasya", 1); UberPlayer myUberPlayer = new UberPlayer("Gans", 2); Bloknot myBloknotPlayer = new Bloknot("Igor Valerievish", 3); Cheater myCheaterPlayer = new Cheater("Gome Simson", 4); UberCheater myUberCheaterPlayer = new UberCheater("Mozzg", 5); myGame.AddPlayer(myRegularPlayer); myGame.AddPlayer(myUberPlayer); myGame.AddPlayer(myBloknotPlayer); myGame.AddPlayer(myCheaterPlayer); myGame.AddPlayer(myUberCheaterPlayer); // start game GeneralPlayer winner = myGame.PlayGame(); // write name of the pleyer, who guessed the value if exist if (winner != null) { Console.WriteLine($"Player {winner.Name} won"); } // or write name of the pleyer, who gave the nearest value else { winner = myGame.GetNearestResult(); Console.WriteLine($"Player {winner.Name} gave the nearest result"); } } catch (ArgumentOutOfRangeException) { Console.WriteLine("Value to guess should be in range [40,140]"); } catch (Exception) { Console.WriteLine("Cant parse to int"); } break; } case Menu.Exit: { continueGame = false; break; } } } while (continueGame); Console.ReadKey(); }