Esempio n. 1
0
        public void Run()
        {
            Console.WriteLine("Введите через пробел количестов сбитых кегль в фрейме.");
            Console.WriteLine("Введите help для получения списка команд.");

            while (true)
            {
                try
                {
                    Console.Write("Фрейм №{0}: ", game.Frames.Count + 1);

                    var key = Console.ReadLine().ToLower();

                    if (commands.Keys.Contains(key))
                    {
                        commands[key]?.Invoke(game);
                        Console.WriteLine();
                        continue;
                    }

                    var shots = key
                                .Trim(' ')
                                .Split(' ')
                                .Where(s => s.Length != 0)
                                .Select(s => int.Parse(s))
                                .ToArray();

                    game.AddFrame(shots);
                }
                catch (ArgumentException e)
                {
                    Console.WriteLine(e.Message);
                }
                catch (FormatException)
                {
                    Console.WriteLine("Неизвестная команда. Используйте help для получения списка команд.");
                }
            }
        }