From 8a9112530c54743f904b00a0d0d87d3ae5f9661c Mon Sep 17 00:00:00 2001 From: ekallin Date: Tue, 12 Sep 2023 20:51:58 +0400 Subject: [PATCH] =?UTF-8?q?=D0=BA=D0=BE=D1=80=D1=80=D0=B5=D0=BA=D1=82?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=BB=D0=B0=D0=B1=D1=8B?= =?UTF-8?q?=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DrawingElectricLocomotive.cs | 52 +++++++++---------- .../EntityElectricLocomotive.cs | 23 +++----- 2 files changed, 32 insertions(+), 43 deletions(-) diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawingElectricLocomotive.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawingElectricLocomotive.cs index 0d95751..2c372da 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawingElectricLocomotive.cs +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawingElectricLocomotive.cs @@ -17,12 +17,10 @@ namespace ElectricLocomotive private readonly int _locoWidth = 150; private readonly int _locoHeight = 50; - public bool Init(int speed, double weight, Color bodyColor, Color additionalColor, bool kolesaRight, bool kolesaLeft, + public bool Init(int speed, double weight, Color bodyColor, Color additionalColor, bool horns, bool seifbatteries, int width, int height) { - /// - /// проверка, что размеры формы больше или равны размерам рисуемого объекта - /// + if (width < _locoWidth || height < _locoHeight) { return false; @@ -30,7 +28,7 @@ namespace ElectricLocomotive _pictureWidth = width; _pictureHeight = height; EntityElectricLocomotive = new EntityElectricLocomotive(); - EntityElectricLocomotive.Init(speed, weight, bodyColor, additionalColor, kolesaRight, kolesaLeft); + EntityElectricLocomotive.Init(speed, weight, bodyColor, additionalColor, horns, seifbatteries); return true; } @@ -95,14 +93,28 @@ namespace ElectricLocomotive Brush bodyColor = new SolidBrush(EntityElectricLocomotive.BodyColor); Brush additionalBrush = new SolidBrush(EntityElectricLocomotive.AdditionalColor); - if (EntityElectricLocomotive.KolesaLeft) - { - g.FillEllipse(blackBrush, _startPosX + 130, _startPosY + 45, 5, 5); + if (EntityElectricLocomotive.Horns) + { + //horns + g.FillRectangle(blackBrush, _startPosX + 30, _startPosY + 15, 20, 5); + g.DrawLine(pen, _startPosX + 40, _startPosY + 15, _startPosX + 50, _startPosY + 10); + g.DrawLine(pen, _startPosX + 50, _startPosY + 10, _startPosX + 45, _startPosY); + g.DrawLine(pen, _startPosX + 45, _startPosY + 15, _startPosX + 50, _startPosY + 10); + g.DrawLine(pen, _startPosX + 50, _startPosY + 10, _startPosX + 40, _startPosY); } - if (EntityElectricLocomotive.KolesaRight) + if (EntityElectricLocomotive.Seifbatteries) { - g.FillEllipse(blackBrush, _startPosX + 105, _startPosY + 45, 5, 5); + //g.DrawRectangle(pen, _startPosX + 50, _startPosY + 25, 20, 10); + g.DrawPolygon(pen, new Point[] + { + new Point(_startPosX + 40, _startPosY + 25), + new Point(_startPosX + 65, _startPosY + 25), + new Point(_startPosX + 65, _startPosY + 35), + new Point(_startPosX + 40, _startPosY + 35), + new Point(_startPosX + 40, _startPosY + 25), + } + ); } //локомотив @@ -160,18 +172,6 @@ namespace ElectricLocomotive g.FillRectangle(windows, _startPosX + 25, _startPosY + 25, 10, 5); g.DrawRectangle(pen, _startPosX + 25, _startPosY + 25, 10, 5); - //электробатареи - - g.DrawRectangle(pen, _startPosX + 50, _startPosY + 25, 20, 10); - - //horns - - g.FillRectangle(blackBrush, _startPosX + 30, _startPosY + 15, 20, 5); - g.DrawLine(pen, _startPosX + 40, _startPosY + 15, _startPosX + 50, _startPosY + 10); - g.DrawLine(pen, _startPosX + 50, _startPosY + 10, _startPosX + 45, _startPosY); - g.DrawLine(pen, _startPosX + 45, _startPosY + 15, _startPosX + 50, _startPosY + 10); - g.DrawLine(pen, _startPosX + 50, _startPosY + 10, _startPosX + 40, _startPosY); - //лбязательные колеса //loco g.FillEllipse(blackBrush, _startPosX + 10, _startPosY + 45, 5, 5); @@ -183,6 +183,9 @@ namespace ElectricLocomotive g.FillEllipse(blackBrush, _startPosX + 95, _startPosY + 45, 5, 5); g.FillEllipse(blackBrush, _startPosX + 140, _startPosY + 45, 5, 5); + g.FillEllipse(blackBrush, _startPosX + 130, _startPosY + 45, 5, 5); + g.FillEllipse(blackBrush, _startPosX + 105, _startPosY + 45, 5, 5); + //telejka g.FillPolygon(bodyColor, new Point[] { @@ -215,7 +218,4 @@ namespace ElectricLocomotive g.FillRectangle(windows, _startPosX + 135, _startPosY + 30, 10, 5); } } -} - - -//ПРОВЕРКА ВТОРОЙ ВЕТКИ \ No newline at end of file +} \ No newline at end of file diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs index 8ca26f5..10b503e 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs @@ -12,29 +12,18 @@ namespace ElectricLocomotive public double Weight { get; private set; } public Color BodyColor { get; private set; } public Color AdditionalColor { get; private set; } - public bool KolesaRight { get; private set; } - - public bool KolesaLeft { get; private set; } + public bool Horns { get; private set; } + public bool Seifbatteries { get; private set; } public double Step => (double)Speed * 100 / Weight; - /// - /// Инициализация полей объекта-класса спортивного автомобиля - /// - /// Скорость - /// Вес автомобиля - /// Основной цвет - /// Дополнительный цвет - /// Признак наличия обвеса - /// Признак наличия антикрыла - /// Признак наличия гоночной полосы - public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool kolesaRight, bool kolesaLeft) + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool horns, bool seifbatteries) { Speed = speed; Weight = weight; BodyColor = bodyColor; AdditionalColor = additionalColor; - KolesaRight = kolesaRight; - KolesaLeft = kolesaLeft; + Horns = horns; + Seifbatteries = seifbatteries; } - + } }