示例#1
0
        static void Main()
        {
            Form form = new Form();

            form.Width  = 800;
            form.Height = 600;
            DrawingBoard.Init(form);
            form.Show();
            //DrawingBoard.Draw();

            //Использование абстрактной фабрики
            IFigureFactory figureFactory = LoadFactory();

            for (int i = 0; i < 20; i++)
            {
                IDrawAPI circle = figureFactory.GetFigure("CircleFigure");
                circle.DrawAt(random.Next(0, DrawingBoard.Width - MAXWIDTHOFFSET), random.Next(TEXTOFFSET, DrawingBoard.Height - MAXHEIGTHOFFSET));
            }

            for (int i = 0; i < 20; i++)
            {
                IDrawAPI circle = figureFactory.GetFigure("SquareFigure");
                circle.DrawAt(random.Next(0, DrawingBoard.Width - MAXWIDTHOFFSET), random.Next(TEXTOFFSET, DrawingBoard.Height - MAXHEIGTHOFFSET));
            }

            for (int i = 0; i < 20; i++)
            {
                IDrawAPI circle = figureFactory.GetFigure("RectangleFigure");
                circle.DrawAt(random.Next(0, DrawingBoard.Width - MAXWIDTHOFFSET), random.Next(TEXTOFFSET, DrawingBoard.Height - MAXHEIGTHOFFSET));
            }

            DrawingBoard.Buffer.Graphics.DrawString($"Circle instances:{CircleFigure.ObjectCounter}" +
                                                    $"\nSquare instances:{SquareFigure.ObjectCounter}" +
                                                    $"\nRectangle instances:{RectangleFigure.ObjectCounter}",
                                                    SystemFonts.DefaultFont,
                                                    Brushes.White,
                                                    0, 0);
            DrawingBoard.Draw();
            Application.Run(form);
        }
 public void DrawAt(int posX, int posY)
 {
     DrawingBoard.Buffer.Graphics.DrawEllipse(Pens.White, posX, posY, _defaultRadius, _defaultRadius);
     DrawingBoard.Draw();
 }
示例#3
0
 public void DrawAt(int posX, int posY)
 {
     DrawingBoard.Buffer.Graphics.DrawRectangle(Pens.Red, new Rectangle(posX, posY, _defaultLength, _defaultWidth));
     DrawingBoard.Draw();
 }
 public void DrawAt(int posX, int posY)
 {
     DrawingBoard.Buffer.Graphics.DrawRectangle(Pens.Blue, new Rectangle(posX, posY, _defaultSide, _defaultSide));
     DrawingBoard.Draw();
 }