Example #1
0
        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();
            }
        }