Esempio n. 1
0
        //преобраует все отрезочки в прямоугольники, иначе удаляет
        public FigureList LinesToRectangle()
        {
            Figure item;

            item = MyList.head;
            Random rnd = new Random();

            while (item != null)
            {
                if (item.Type == 2)
                {
                    if (item.XLU != item.XRD && item.YLU != item.YRD)
                    {
                        item.Type  = 1;
                        item.Color = rnd.Next(1, 10);
                    }
                    else
                    {
                        MyList.Remove(item);
                    }
                }
                item = item.Next;
            }
            return(MyList);
        }
        static void Main(string[] args)
        {
            var myList = new FigureList();
            var helper = new Tool();

            helper.MyList = myList;

            //вставки некоторой фигуры в некоторую позицию списка
            //(при вставке учесть существует ли подобный элемент в списке,
            //если да – то заменить существующий, например, может поменяться цвет фигуры);
            myList.AddByIndex(new Figure(1, 2, 3, 4, 5, 6), 0);
            myList.AddByIndex(new Figure(2, 2, 3, 3, 5, 6), 1);
            myList.AddByIndex(new Figure(3, 2, 3, 4, 5, 6), 2);
            myList.Remove(new Figure(1, 2, 3, 4, 5, 6));
            Console.WriteLine("basic methods:");
            helper.Decode();

            //Построить новый список, состоящий из фигур, которые имеют общие точки с некоторым прямоугольником
            myList = helper.CreateByRectangleCoordinates(new Figure(1, 2, 3, 4, 5, 6));
            Console.WriteLine("rectCoordsList:");
            helper.Decode();

            //построение списка по множеству фигур, заданному набором строк в некотором текстовом файле;
            myList = helper.Encode(@"C:\Users\Пользователь\Desktop\TEXT.txt");
            Console.WriteLine("Encode:");
            helper.Decode();

            //Каждый отрезок с координатами(X1, Y1); (X2, Y2) при условии, что X1<>X2 и Y1<> Y2,
            //заменить прямоугольником  некоторого цвета, в противном случае удалить из списка
            helper.Encode(@"C:\Users\Пользователь\Desktop\TEXT.txt");
            myList = helper.LinesToRectangle();
            Console.WriteLine("lineToRectList:");
            helper.Decode();

            //Построить новый список из фигур,
            //площади которых более некоторой константы(задается пользователем в интерактивном режиме).
            Console.WriteLine("Введите констaнту:");
            int n = int.Parse(Console.ReadLine());

            helper.BuildListByConst(n);
            Console.WriteLine("byConstList:");
            helper.Decode();
        }