Пример #1
0
        private static void SticksGame_HumanTurn(object sender, int sticksLeft) //реализация пользователя
        {
            Console.WriteLine($"Выведите статус: {sticksLeft}");
            Console.WriteLine("Возьмите несколько палок: от 1 до 3");

            bool takenCorrect = false;

            while (!takenCorrect) //запрашиваем кол-во палок, которое хочет взять пользователь
            {
                if (int.TryParse(Console.ReadLine(), out int takenSticks))
                {
                    SticksVersion_2 sticksGame = (SticksVersion_2)sender; //Вытаскиваем экземпляр из sender
                    //Вызываем метод, который позволит взять палки из кучи
                    try                                                   //обработаем исключения, которые до этого выкинули
                    {
                        sticksGame.HumanTakesSticks(takenSticks);
                        takenCorrect = true; //чтобы выйти из цикла, ставим true
                    }
                    catch (ArgumentException ex)
                    {
                        Console.WriteLine(ex.Message); //выводим сообщение
                    }
                }
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            SticksVersion_2 sticksGame = new SticksVersion_2(10, Player.Human); //создали экземпляр

            sticksGame.ComputerPlayed += SticksGame_ComputerPlayed;             //подписываемся на событие
            sticksGame.HumanTurn      += SticksGame_HumanTurn;
            sticksGame.EndOfGame      += SticksGame_EndOfGame;

            //вызываем Старт
            sticksGame.Start();
        }