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(); }
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(); }