public short Add(Figure2D source)
        {
            short result = -1;

            if (source != null)
            {
                int initialSize = _figures.Length;
                for (int i = 0; i < initialSize; i++)
                {
                    if (_figures[i] == null)
                    {
                        _figures[i] = source.Copy();
                        result      = (short)i;
                        break;
                    }
                }

                if (result < 0)
                {
                    Figure2D[] tempArray = new Figure2D[2 * initialSize];
                    for (int i = 0; i < initialSize; i++)
                    {
                        tempArray[i] = _figures[i];
                    }
                    _figures = tempArray;
                    _figures[initialSize] = source.Copy();
                    result = (short)initialSize;
                }
            }
            return(result);
        }
Exemple #2
0
        public static void UnityFigures(Figure2D a, Figure2D b)
        {
            int k = Math.Abs(a.X - b.X);
            int z = Math.Abs(a.Y - b.Y);

            b.MovePoint(k, z);

            a.Show();
            b.Show();
        }
Exemple #3
0
        /// <summary>
        /// добавление фигуры в массив
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public bool Add(Figure2D obj)
        {
            bool rezult = false;

            if (_countFiguresReal < _items.Length)
            {
                _items[_countFiguresReal] = obj;
                _countFiguresReal++;
                rezult = true;
            }
            return(rezult);
        }
Exemple #4
0
 /// <summary>
 /// индексатор для доступа к методам отдельной фигуры
 /// </summary>
 /// <param name="index"></param>
 /// <returns></returns>
 public Figure2D this[int index]
 {
     get
     {
         Figure2D a = null;
         if (index >= 0)
         {
             a = _items[index]; // доработать возврат копии
         }
         return(a);
     }
 }
Exemple #5
0
 Figure2D IFigureContainer.this[int index]
 {
     get
     {
         Figure2D a = null;
         if (index >= 0)
         {
             //a = new Figure2D(_items[index]); // доработать возврат копии
             a = _items[index] /*.Clone()*/;
         }
         return(a);
     }
 }
Exemple #6
0
 public static void PrintHeaderScal(Figure2D a)
 {
     Console.WriteLine(Environment.NewLine + "Figure scaling - {0}", a.GetFigureName());
 }
Exemple #7
0
 public static void PrintHeaderMoveTo(Figure2D a)
 {
     Console.WriteLine(Environment.NewLine + "Move figure to - {0}", a.GetFigureName());
 }
Exemple #8
0
 public static void PrintUnityFigures(Figure2D a, Figure2D b)
 {
     Console.WriteLine(Environment.NewLine + "Unity figures - {0}, {1}", a.GetFigureName(), b.GetFigureName());
 }
Exemple #9
0
 // вывод заголовкa
 public static void PrintHeader(Figure2D a)
 {
     Console.WriteLine(Environment.NewLine + a.GetFigureName());
 }
 public FigureContainer(int size)
 {
     _figures = new Figure2D[size];
 }
 public FigureContainer()
 {
     _figures = new Figure2D[Size];
 }
Exemple #12
0
 // конструктор копирования
 public Figure2D(Figure2D source)
     : this(source._x, source._y, source._color)
 {
 }