Beispiel #1
0
        static void Main(string[] args)
        {
            //Basket basket = new Basket();
            //Console.WriteLine(basket);

            var firstPlayer = new RegularPlayer(EnumTypesOfPlayer.RegularPlayer, "Ulua_1");

            Library.GetNewVariant(firstPlayer);

            var secondPlayer = new NotepadPlayer(EnumTypesOfPlayer.NotepadPlayer, "Anisia_2");
            //Library.GetNewVariant(secondPlayer);

            var thirdPlayer = new UberPlayer(EnumTypesOfPlayer.UberPlayer, "Petr_3");
            //Library.GetNewVariant(thirdPlayer);

            var fourthPlayer = new UberCheaterPlayer(EnumTypesOfPlayer.UberCheaterPlayer, "Petya_3");
            //Library.GetNewVariant(fourthPlayer);

            var fifthPlayer = new CheaterPlayer(EnumTypesOfPlayer.CheaterPlayer, "Pavel");
            //Library.GetNewVariant(fifthPlayer);

            var sixPlayer = new UberCheaterPlayer(EnumTypesOfPlayer.UberCheaterPlayer, "Mama");
            //Library.GetNewVariant(sixPlayer);

            var sevenPlayer = new RegularPlayer(EnumTypesOfPlayer.RegularPlayer, "Papa");

            Console.WriteLine("\n\tЛист игроков");
            for (int i = 0; i < AllLists.allPlayers.Count; i++)
            {
                Console.WriteLine(" " + AllLists.allPlayers[i] + " ");
            }
            Console.WriteLine();
            Library.ChangeConsole(-25, 2);
            Library.Game();
        }
Beispiel #2
0
        public void AddPlayer(string name, Skills.SkillsPlayerEnum skills)
        {
            switch (skills)
            {
            case Skills.SkillsPlayerEnum.REGULARPLAYER:
                BasePlayer playerReg = new RegPlayer(name, 40, 140);
                this.NewRun += playerReg.NewRun;
                players.Add(playerReg);
                break;

            case Skills.SkillsPlayerEnum.NOTEPADPLAYER:
                BasePlayer playerNote = new NotepadPlayer(history, name, 40, 140);
                this.NewRun += playerNote.NewRun;
                players.Add(playerNote);
                break;

            case Skills.SkillsPlayerEnum.UBERPLAYER:
                BasePlayer playerUber = new UberPlayer(name, 40, 140);
                this.NewRun += playerUber.NewRun;
                players.Add(playerUber);
                break;

            case Skills.SkillsPlayerEnum.CHEATER:
                BasePlayer playerCheat = new CheaterPlayer(history, name, 40, 140);
                this.NewRun += playerCheat.NewRun;
                players.Add(playerCheat);
                break;

            case Skills.SkillsPlayerEnum.UBERCHEATER:
                BasePlayer playerUCheat = new UberCheatPlayer(history, name, 40, 140);
                this.NewRun += playerUCheat.NewRun;
                players.Add(playerUCheat);
                break;
            }
        }
Beispiel #3
0
        /// <summary>
        /// Uber void
        /// </summary>
        /// <param name="_name">Name</param>
        /// <param name="_typePlayer">Type player</param>
        /// <param name="_stepFinishPlayer">MainSize and FinishStep</param>
        private static void UberPlayerPlayerMethod(string _name, string _typePlayer, int _stepFinishPlayer)
        {
            Thread     uberPlayerThread = new Thread(new ParameterizedThreadStart(UberPlayerLogic.CalcUberPlayer));
            UberPlayer uberpl1          = new UberPlayer(_name: "Den", _stepFinish: MainSize);

            MainList.AddMainList(new MainList(_countPlayers: 1, _namePlayer: "Den", _typePlayer: "UberPlayer", _stepFinishPlayer: 100));
            uberPlayerThread.Start(uberpl1);
        }
Beispiel #4
0
        static void Main(string[] args)
        {
            Thread mainThread = Thread.CurrentThread;

            RegularPlayer myRegPlayer     = new RegularPlayer("Vilgelm");
            UberPlayer    myUberPlayer    = new UberPlayer("Gans");
            BloknotPlayer myBloknotPlayer = new BloknotPlayer("Valentin");

            Game newGame = new Game(0, 10, 7);


            newGame.AddPlayer(myRegPlayer);
            newGame.AddPlayer(myUberPlayer);
            newGame.AddPlayer(myBloknotPlayer);


            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine($"game started, thread {mainThread.ManagedThreadId}");
            var gameResult = newGame.PlayGame();

            if (gameResult.Result)
            {
                var winner = newGame.GetWinner();
                Console.WriteLine($"winner is {winner.Name} ");
            }
            else
            {
                Console.WriteLine("No winner");
            }

            Player.PrintAllPlayerResults();

            myRegPlayer.PrintAnswer();
            myUberPlayer.PrintAnswer();
            myBloknotPlayer.PrintAnswer();



            Console.ReadKey();
        }
Beispiel #5
0
        public static Player Start()
        {
            Player player = null;
            bool   flag   = true;
            int    tryCounter;

            while (flag)
            {
                foreach (Player playerF in _Players)
                {
                    switch (playerF.Type)
                    {
                    case "Обычный":
                        IGame regularPlayer = new RegularPlayer(playerF.Name);
                        _result = regularPlayer.Play();
                        _regularPlayerStats.Add(_result);
                        player = playerF;
                        break;

                    case "Игрок-блокнот":
                        IGame notePlayer = new NotePlayer(playerF.Name);
                        _result = notePlayer.Play();
                        _notePlayerStats.Add(_result);
                        player = playerF;
                        break;

                    case "Убер-игрок":
                        IGame uberPlayer = new UberPlayer(playerF.Name);
                        _result = uberPlayer.Play();
                        _uberPlayerStats.Add(_result);
                        player = playerF;
                        break;

                    case "Читер":
                        IGame cheaterPlayer = new CheaterPlayer(playerF.Name);
                        _result = cheaterPlayer.Play();
                        _cheaterPlayerStats.Add(_result);
                        player = playerF;
                        break;

                    case "Убер-читер":
                        IGame uberCheaterPlayer = new UberCheaterPlayer(playerF.Name);
                        _result = uberCheaterPlayer.Play();
                        _uberCheaterPlayerStats.Add(_result);
                        player = playerF;
                        break;
                    }

                    _tryCounter++;

                    if (_tryCounter >= 100)
                    {
                        flag   = false;
                        player = null;
                        break;
                    }

                    if (_result == _bucketWeight)
                    {
                        flag = false;
                        break;
                    }
                }
            }

            return(player);
        }
Beispiel #6
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);
        }
Beispiel #7
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();
        }
Beispiel #8
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();
        }