Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Random random = new Random(DateTime.Now.Millisecond);

            do
            {
                try
                {
                    Transformer transformer = new Transformer();
                    Figure[]    figures     = new Figure[10];

                    for (int i = 0; i < figures.Length; i++)
                    {
                        Figure tmp = random.Next() % 2 == 0 ? (Figure) new Square(random.Next(5, 15) + random.NextDouble()) : new Triangle(random.Next(5, 15) + random.NextDouble());
                        transformer.OnChangeSize += tmp.IsIncreasedEventHandler;
                        figures[i] = tmp;
                    }

                    Array.ForEach(figures, figure => Console.WriteLine(figure.ToString()));

                    int  n;
                    bool flag = false;
                    do
                    {
                        Console.Write("Enter N: ");
                        if (int.TryParse(Console.ReadLine(), out n))
                        {
                            if (n <= 1)
                            {
                                Console.WriteLine("Please, enter N bigger than 1");
                            }
                            else
                            {
                                flag = true;
                            }
                        }
                        else
                        {
                            Console.WriteLine("String is not int type");
                        }
                    } while (!flag);



                    for (int i = 0; i < n; i++)
                    {
                        Console.WriteLine($"\nChanged {i + 1} times: ");
                        transformer.ChangeSize(random.Next(3, 8));
                        Array.ForEach(figures, figure => Console.WriteLine(figure.ToString()));
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                Console.WriteLine("Press Esc to exit or another button to continue");
            } while (Console.ReadKey().Key != ConsoleKey.Escape);
        }