示例#1
0
        public static void CalculatePerimeter(IGeometricalShape shape)
        {
            double perimeter = 0.0;

            if (shape is Line)
            {
                perimeter = CalculateLineLength(shape.GeometricalObjectExtremities[0], shape.GeometricalObjectExtremities[1]);
            }
            else if (shape is Triangle)
            {
                perimeter = CalculateLineLength(shape.GeometricalObjectExtremities[0], shape.GeometricalObjectExtremities[1]) +
                            CalculateLineLength(shape.GeometricalObjectExtremities[1], shape.GeometricalObjectExtremities[2]) +
                            CalculateLineLength(shape.GeometricalObjectExtremities[0], shape.GeometricalObjectExtremities[2]);
            }
            else if (shape is Rectangle)
            {
                perimeter = CalculateLineLength(shape.GeometricalObjectExtremities[0], shape.GeometricalObjectExtremities[1]) +
                            CalculateLineLength(shape.GeometricalObjectExtremities[1], shape.GeometricalObjectExtremities[2]) +
                            CalculateLineLength(shape.GeometricalObjectExtremities[2], shape.GeometricalObjectExtremities[3]) +
                            CalculateLineLength(shape.GeometricalObjectExtremities[3], shape.GeometricalObjectExtremities[0]);
            }
            else
            {
                perimeter = 0;
            }

            Console.WriteLine($"The perimeter of the { shape.GetType().Name } is: { perimeter }");
        }
示例#2
0
        public static void MoveGeometricalObjectsOnY(IGeometricalShape[] shapes, int distance)
        {
            if (shapes is null)
            {
                shapes = new IGeometricalShape[0];
            }

            for (int i = 0; i < shapes.Length; i++)
            {
                shapes[i].MoveOnY(distance);
            }
        }
示例#3
0
 public static double GetAreaSize(IGeometricalShape shape)
 {
     return(shape.CalculateAreaSize());
 }