示例#1
0
        public void Execute(params string[] parameters)
        {
            var errors = CommandLib.ParseArguments <int>(parameters, out var parsed);

            if (errors.Count != 0)
            {
                Console.WriteLine($"Обнаружены ошибки ввода: {string.Join(", ", errors)}");
                return;
            }
            var missing = CommandLib.CheckShapeIndexes(parsed, picture, out var indexes);

            if (missing.Count != 0)
            {
                Console.WriteLine($"Отсутствуют фигуры с индексами: {string.Join(", ", missing)}");
            }
            if (indexes.Count == 0)
            {
                return;
            }
            Console.WriteLine($"Удаляем фигуры с индексами: {string.Join(", ", indexes)}");
            foreach (var index in indexes)
            {
                picture.RemoveAt(index);
            }
        }
示例#2
0
        public void Execute(params string[] parameters)
        {
            // Проверяем количество параметров
            if (parameters.Length <= 1)
            {
                Console.WriteLine("Недостаточное количество аргументов");
                return;
            }
            // Проверяем ошибки во вводе
            var errors = CommandLib.ParseArguments <int>(parameters, out var parsed);

            if (errors.Count != 0)
            {
                Console.WriteLine($"Обнаружены ошибки ввода: {string.Join(", ", errors)}");
                return;
            }
            // Проверяем ширину
            var width = parsed[0];

            if (width < 0)
            {
                Console.WriteLine("Задана неверная ширина");
                return;
            }
            // Проверяем существование индексов
            var cut     = parsed.Skip(1).ToList();
            var missing = CommandLib.CheckShapeIndexes(cut, picture, out var indexes);

            if (missing.Count != 0)
            {
                Console.WriteLine($"Отсутствуют фигуры с индексами: {string.Join(", ", missing)}");
            }
            // Выполняем действия
            if (indexes.Count == 0)
            {
                return;
            }
            Console.WriteLine($"Изменяем ширину фигур с индексами: {string.Join(", ", indexes)}");
            foreach (var index in indexes)
            {
                picture.ResizeAt(index, (uint)width);
            }
        }
示例#3
0
        public void Execute(params string[] parameters)
        {
            // Проверяем количество параметров
            if (parameters.Length <= 1)
            {
                Console.WriteLine("Недостаточное количество аргументов");
                return;
            }
            // Проверяем правильность цвета
            var color = Color.FromName(parameters[0]);

            if (!color.IsKnownColor)
            {
                Console.WriteLine("Указан неизвестный цвет!");
                return;
            }
            // Проверяем ошибки во вводе индексов
            var cut    = parameters.Skip(1).ToArray();
            var errors = CommandLib.ParseArguments <int>(cut, out var parsed);

            if (errors.Count != 0)
            {
                Console.WriteLine($"Обнаружены ошибки ввода: {string.Join(", ", errors)}");
                return;
            }
            // Проверяем существование индексов
            var missing = CommandLib.CheckShapeIndexes(parsed, picture, out var indexes);

            if (missing.Count != 0)
            {
                Console.WriteLine($"Отсутствуют фигуры с индексами: {string.Join(", ", missing)}");
            }
            // Выполняем действия
            if (indexes.Count == 0)
            {
                return;
            }
            Console.WriteLine($"Окрашиваем фигуры с индексами: {string.Join(", ", indexes)}");
            foreach (var index in indexes)
            {
                picture.RecolorAt(index, color);
            }
        }