예제 #1
0
        //строит список фигур, площадь которых больше некоторой константы
        public FigureList BuildListByConst(int constant)
        {
            MyList = new FigureList();
            Random rnd = new Random();

            while (MyList.Count() < 5)
            {
                int type = rnd.Next(1, 4);
                if (type == 1)
                {
                    int x1 = rnd.Next(0, 25);
                    int y1 = rnd.Next(0, 25);
                    int x2 = rnd.Next(25, 50);
                    int y2 = rnd.Next(25, 50);
                    if (y2 - y1 > constant || x2 - x1 > constant)
                    {
                        MyList.AddByIndex(new Figure(type, x1, y1, x2, y2, rnd.Next(1, 8)), 0);
                    }
                }
                if (type == 3)
                {
                    int x1 = rnd.Next(0, 25);
                    int y1 = rnd.Next(0, 25);
                    int x2 = rnd.Next(0, 15);
                    if (x2 * 6 > constant)
                    {
                        MyList.AddByIndex(new Figure(type, x1, y1, x2, 0, rnd.Next(1, 8)), 0);
                    }
                }
            }
            return(MyList);
        }
예제 #2
0
        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();
        }
예제 #3
0
 //вспомогательный метод, который создает элементы листа и добавляет в лист
 private void CreateAndAdd(string[] str)
 {
     MyList.AddByIndex(new Figure(Convert.ToInt32(str[0]), Convert.ToInt32(str[1]), Convert.ToInt32(str[2]),
                                  Convert.ToInt32(str[3]), Convert.ToInt32(str[4]), Convert.ToInt32(str[5])), Convert.ToInt32(str[6]));
 }