Переход на конструкторы

This commit is contained in:
Володя 2022-09-26 08:45:26 +03:00
parent 684da38e47
commit 4fe6f533bf
3 changed files with 25 additions and 14 deletions

View File

@ -16,11 +16,11 @@ namespace AirPlaneWithRadar
private int? pictureHeight = null; private int? pictureHeight = null;
protected readonly int plainWidth = 120; protected readonly int plainWidth = 120;
protected readonly int plainHeight =70; protected readonly int plainHeight =70;
public void Init (int speed, float weight, Color bodycolor) public DrawingPlain(int speed, float weight, Color bodycolor)
{ {
Plain = new EntetyPlain (); Plain = new EntetyPlain(speed, weight, bodycolor);
Plain.Init (speed, weight, bodycolor);
} }
public void setPosition(int x,int y,int width,int height) public void setPosition(int x,int y,int width,int height)
{ {
if (x + plainWidth > width || y + plainHeight > height || plainHeight > height || plainWidth > width || x <0 || y<0) if (x + plainWidth > width || y + plainHeight > height || plainHeight > height || plainWidth > width || x <0 || y<0)
@ -66,27 +66,37 @@ namespace AirPlaneWithRadar
} }
Pen pen = new Pen(Color.Black); Pen pen = new Pen(Color.Black);
g.DrawRectangle(pen, startPosX, startPosY, 20, 30); g.DrawRectangle(pen, startPosX, startPosY, 20, 30);
g.DrawRectangle(pen, startPosX, startPosY + 30, 100, 30); g.DrawRectangle(pen, startPosX, startPosY + 30, 100, 30);
g.DrawRectangle(pen, startPosX+100, startPosY + 40, 20, 15); g.DrawRectangle(pen, startPosX+100, startPosY + 40, 20, 15);
//koleso1
g.DrawRectangle(pen, startPosX + 30, startPosY + 60, 5, 10); g.DrawRectangle(pen, startPosX + 30, startPosY + 60, 5, 10);
g.DrawEllipse(pen, startPosX+28, startPosY+70, 9, 9); g.DrawEllipse(pen, startPosX+28, startPosY+70, 9, 9);
//koleso2
g.DrawRectangle(pen, startPosX + 80, startPosY + 60, 5, 10); g.DrawRectangle(pen, startPosX + 80, startPosY + 60, 5, 10);
g.DrawEllipse(pen, startPosX + 78, startPosY + 70, 9, 9); g.DrawEllipse(pen, startPosX + 78, startPosY + 70, 9, 9);
//Korpys
Brush br = new SolidBrush(Plain?.BodyColor ?? Color.Black); Brush br = new SolidBrush(Plain?.BodyColor ?? Color.Black);
g.FillRectangle(br, startPosX+3, startPosY + 33, 94, 24); g.FillRectangle(br, startPosX+3, startPosY + 33, 94, 24);
g.FillRectangle(br, startPosX+1, startPosY+1, 19, 29); g.FillRectangle(br, startPosX+1, startPosY+1, 19, 29);
//krilya
Brush brWings = new SolidBrush(Color.Black); Brush brWings = new SolidBrush(Color.Black);
g.FillRectangle(brWings, startPosX + 30, startPosY + 40, 40, 8); g.FillRectangle(brWings, startPosX + 30, startPosY + 40, 40, 8);
//cabina
Brush brCabine = new SolidBrush(Color.Blue); Brush brCabine = new SolidBrush(Color.Blue);
g.FillRectangle(brCabine, startPosX + 101, startPosY + 41, 19, 14); g.FillRectangle(brCabine, startPosX + 101, startPosY + 41, 19, 14);
} }
public void ChangeBorders(int width, int height) public void ChangeBorders(int width, int height)

View File

@ -14,13 +14,14 @@ namespace AirPlaneWithRadar
public Color BodyColor { get; private set; } public Color BodyColor { get; private set; }
public float Step => Speed * 100 / Weight; public float Step => Speed * 100 / Weight;
public void Init (int speed, float weight, Color bodycolor) public EntetyPlain(int speed, float weight, Color bodyColor)
{ {
Random rd = new Random(); Random rd = new Random();
Speed = speed <= 0 ? rd.Next(50, 150) : speed;
Speed = speed <= 0 ? rd.Next(50,150):speed; Weight = weight <= 0 ? rd.Next(40, 70) : weight;
Weight = weight <= 0 ? rd.Next(40, 70) :weight; BodyColor = bodyColor;
BodyColor = bodycolor;
} }
} }
} }

View File

@ -22,9 +22,9 @@ namespace AirPlaneWithRadar
private void ButtonCreate_Click(object sender, EventArgs e) private void ButtonCreate_Click(object sender, EventArgs e)
{ {
Random rnd = new(); Random rnd = new();
_plain = new DrawingPlain(); _plain = new DrawingPlain(rnd.Next(100, 300), rnd.Next(1000, 2000), Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256)));
_plain.Init(rnd.Next(100, 300), rnd.Next(1000, 2000), Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256)));
_plain.setPosition(rnd.Next(10, 100), rnd.Next(10, 100), pictureBoxPlain.Width, pictureBoxPlain.Height); _plain.setPosition(rnd.Next(10, 100), rnd.Next(10, 100), pictureBoxPlain.Width, pictureBoxPlain.Height);
toolStripStatusLabelSpeed.Text = $"Ñêîðîñòü: {_plain.Plain.Speed}"; toolStripStatusLabelSpeed.Text = $"Ñêîðîñòü: {_plain.Plain.Speed}";
toolStripStatusLabelWeight.Text = $"Âåñ: {_plain.Plain.Weight}"; toolStripStatusLabelWeight.Text = $"Âåñ: {_plain.Plain.Weight}";