Exemple #1
0
        public void Play()
        {
            string decision;

            do
            {
                Console.ForegroundColor = ConsoleColor.Magenta;
                Console.WriteLine("Кто начнёт игру? (Ping/Pong)\n");
                Console.ResetColor();

                decision = Console.ReadLine();

                Console.WriteLine();

                if (decision != "Ping" && decision != "ping" && decision != "Pong" && decision != "pong")
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Не понятно! Попробуем еще раз...\n");
                    Console.ResetColor();
                }
            } while (decision != "Ping" && decision != "ping" && decision != "Pong" && decision != "pong");

            bool turn;

            if (decision == "Pong" || decision == "pong")
            {
                turn = true;
            }
            else
            {
                turn = false;
            }

            Random rnd = new Random();

            int probability;

            bool ball;

            do
            {
                // вероятность, что текущий игрок отобъет подачу 4:5
                probability = rnd.Next(1, 11);

                // определение отбита подача или нет
                if (probability > 2)
                {
                    ball = true;
                }
                else
                {
                    ball = false;
                }

                OnGame?.Invoke(turn, ball);

                // смена хода
                if (turn)
                {
                    turn = false;
                }
                else
                {
                    turn = true;
                }
            } while (probability > 2);
        }