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); //выводим сообщение } } } }
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(); }