示例#1
0
        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" }
            };
        }
示例#2
0
        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);
        }
示例#3
0
        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();
        }
示例#4
0
        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!");
        }
示例#5
0
        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();
        }
示例#6
0
        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();
        }