コード例 #1
0
ファイル: Interactor.cs プロジェクト: inidzelsky/polyhedrons
        public Polygon LoadPolygon(string name)
        {
            try
            {
                FigureData figureData = _database.LoadPolygon(name);
                return(CreatePolygon(figureData.PolygonType, figureData.Coords));
            }
            catch (Exception e)
            {
                Console.Clear();

                ConsoleView.ColorizeError(e.Message);

                Console.WriteLine();

                return(null);
            }
        }
コード例 #2
0
ファイル: Interactor.cs プロジェクト: inidzelsky/polyhedrons
        public Polyhedron CreatePolyhedron(string type, Polygon polygon, double height = 0)
        {
            try
            {
                Polyhedron polyhedron = PolyhedronFactory.FactoryMethod(type, polygon, height);

                return(polyhedron);
            }
            catch (Exception e)
            {
                Console.Clear();

                ConsoleView.ColorizeError(e.Message);

                Console.WriteLine();

                return(null);
            }
        }
コード例 #3
0
ファイル: Interactor.cs プロジェクト: inidzelsky/polyhedrons
        public Polyhedron LoadPolyhedron(string name)
        {
            try
            {
                FigureData figureData = _database.LoadPolyhedron(name);

                Polygon polygon = PolygonFactory.FactoryMethod(figureData.PolygonType, figureData.Coords);
                return(CreatePolyhedron(figureData.PolyhedronType, polygon, figureData.Height));
            }
            catch (Exception e)
            {
                Console.Clear();

                ConsoleView.ColorizeError(e.Message);

                Console.WriteLine();

                return(null);
            }
        }
コード例 #4
0
ファイル: Controller.cs プロジェクト: inidzelsky/polyhedrons
        private void PolyhedronParamsMenu()
        {
            Console.WriteLine("Polyhedron parameters menu:\n" +
                              "Base area - 1\n" +
                              "Volume - 2\n" +
                              "Apexes amount - 3\n" +
                              "Edges amount - 4\n" +
                              "Brinks amount - 5\n" +
                              "Save polyhedron - 6\n" +
                              "Back - b");

            Console.Write("Input: ");
            string input = Console.ReadLine();

            Console.WriteLine();

            try
            {
                switch (input)
                {
                case "1":
                    Console.Clear();
                    ConsoleView.ColorizeSuccess($"Base area : {_interactor.GetBaseArea()}");
                    Console.WriteLine();

                    break;

                case "2":
                    Console.Clear();
                    ConsoleView.ColorizeSuccess($"Volume : {_interactor.GetVolume()}");
                    Console.WriteLine();

                    break;

                case "3":
                    Console.Clear();
                    ConsoleView.ColorizeSuccess($"Apexes : {_interactor.GetApexes()}");
                    Console.WriteLine();

                    break;

                case "4":
                    Console.Clear();
                    ConsoleView.ColorizeSuccess($"Edges : {_interactor.GetEdges()}");
                    Console.WriteLine();

                    break;

                case "5":
                    Console.Clear();
                    ConsoleView.ColorizeSuccess($"Brinks : {_interactor.GetBrinks()}");
                    Console.WriteLine();
                    break;

                case "6":
                    Console.WriteLine("Enter the figure name : ");
                    string name = Console.ReadLine();
                    Console.Clear();

                    if (_interactor.SavePolyhedron(name))
                    {
                        ConsoleView.ColorizeInfo("Polyhedron was successfully saved");
                        Console.WriteLine();
                    }

                    break;

                case "b":
                    Console.Clear();
                    return;
                }
            }
            catch (Exception e)
            {
                Console.Clear();
                ConsoleView.ColorizeError(e.Message);
                Console.WriteLine();
            }

            PolyhedronParamsMenu();
        }
コード例 #5
0
ファイル: Controller.cs プロジェクト: inidzelsky/polyhedrons
        private void PolygonCreationMenu()
        {
            Console.WriteLine("Polygon creation menu:\n" +
                              "Choose a polygon to create\n" +
                              "Square - 1\n" +
                              "Rectangle - 2\n" +
                              "Parallelogram - 3\n" +
                              "Triangle - 4\n" + // #TODO Fix triangle exception
                              "Trapeze - 5\n" +
                              "Custom - 6\n" +
                              "Back - b\n");

            Console.Write("Input: ");
            string input = Console.ReadLine();

            Console.WriteLine();

            Figure        figure = null;
            List <Coords> coords = null;

            Console.Clear();

            try
            {
                switch (input)
                {
                case "1":
                    coords = ReadCoords(4);
                    if (coords != null)
                    {
                        figure = _interactor.CreatePolygon("square", coords);
                    }

                    break;

                case "2":
                    coords = ReadCoords(4);

                    if (coords != null)
                    {
                        figure = _interactor.CreatePolygon("rectangle", coords);
                    }

                    break;

                case "3":
                    coords = ReadCoords(4);

                    if (coords != null)
                    {
                        figure = _interactor.CreatePolygon("parallelogram", coords);
                    }

                    break;

                case "4":
                    coords = ReadCoords(3);

                    if (coords != null)
                    {
                        figure = _interactor.CreatePolygon("triangle", coords);
                    }

                    break;

                case "5":
                    coords = ReadCoords(4);

                    if (coords != null)
                    {
                        figure = _interactor.CreatePolygon("trapeze", coords);
                    }

                    break;

                case "6":
                    Console.Write("Enter the amount of apexes: ");
                    int amount = Int32.Parse(Console.ReadLine());
                    Console.WriteLine();

                    coords = ReadCoords(amount);

                    if (coords != null)
                    {
                        figure = _interactor.CreatePolygon("custom", coords);
                    }

                    break;

                case "b":
                    Console.Clear();
                    return;
                }
            }
            catch (Exception e)
            {
                Console.Clear();
                ConsoleView.ColorizeError(e.Message);
                Console.WriteLine();
            }

            if (figure != null)
            {
                Console.Clear();
                _interactor.SetFigure(figure);
                PolygonParamsMenu();
            }
            else
            {
                PolygonCreationMenu();
            }
        }