From 114e434c527759436fa1df2e6b0cc155cea897dd Mon Sep 17 00:00:00 2001 From: ArtemEmelyanov Date: Thu, 22 Sep 2022 13:24:17 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D0=B0=D1=8F=20=D0=BB?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=BD=D0=B0?= =?UTF-8?q?=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Airbus/Airbus/DrawningAirbus.cs | 34 ++++++++++++++++++--------------- Airbus/Airbus/EntityAirbus.cs | 2 ++ Airbus/Airbus/FormAirbus.cs | 6 ++++-- 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/Airbus/Airbus/DrawningAirbus.cs b/Airbus/Airbus/DrawningAirbus.cs index 6647c87..59b60b4 100644 --- a/Airbus/Airbus/DrawningAirbus.cs +++ b/Airbus/Airbus/DrawningAirbus.cs @@ -14,11 +14,11 @@ namespace Airbus public EntityAirbus Airbus { get; private set; } /// - /// Левая координата отрисовки автомобиля + /// Левая координата отрисовки самолета /// private float _startPosX; /// - /// Верхняя кооридната отрисовки автомобиля + /// Верхняя кооридната отрисовки самолета /// private float _startPosY; /// @@ -29,27 +29,28 @@ namespace Airbus /// Высота окна отрисовки /// private int? _pictureHeight = null; + + /// - /// Ширина отрисовки автомобиля + /// Ширина отрисовки самолета /// private readonly int _AirbusWidth = 130; /// - /// Высота отрисовки автомобиля + /// Высота отрисовки самолета /// private readonly int _AirbusHeight = 70; /// /// Инициализация свойств /// /// Скорость - /// Вес автомобиля + /// Вес самолета /// Цвет кузова - public void Init(int speed, float weight, Color bodyColor) + public void Init(EntityAirbus Airbus) { - Airbus = new EntityAirbus(); - Airbus.Init(speed, weight, bodyColor); + this.Airbus = Airbus; } /// - /// Установка позиции автомобиля + /// Установка позиции самолета /// /// Координата X /// Координата Y @@ -57,11 +58,14 @@ namespace Airbus /// Высота картинки public void SetPosition(int x, int y, int width, int height) { - // TODO checks - _startPosX = x; - _startPosY = y; - _pictureWidth = width; - _pictureHeight = height; + if (x >= 0 && x + _AirbusWidth <= width && y >= 0 && y + _AirbusHeight <= height) + { + _startPosX = x; + _startPosY = y; + _pictureWidth = width; + _pictureHeight = height; + } + } /// /// Изменение направления пермещения @@ -106,7 +110,7 @@ namespace Airbus } } /// - /// Отрисовка автомобиля + /// Отрисовка самолета /// /// public void DrawTransport(Graphics g) diff --git a/Airbus/Airbus/EntityAirbus.cs b/Airbus/Airbus/EntityAirbus.cs index 0c662df..455de76 100644 --- a/Airbus/Airbus/EntityAirbus.cs +++ b/Airbus/Airbus/EntityAirbus.cs @@ -38,5 +38,7 @@ namespace Airbus Weight = weight <= 0 ? rnd.Next(40, 70) : weight; BodyColor = bodyColor; } + + } } diff --git a/Airbus/Airbus/FormAirbus.cs b/Airbus/Airbus/FormAirbus.cs index abe5468..2f70bea 100644 --- a/Airbus/Airbus/FormAirbus.cs +++ b/Airbus/Airbus/FormAirbus.cs @@ -19,7 +19,7 @@ namespace Airbus InitializeComponent(); } /// - /// Метод прорисовки машины + /// Метод прорисовки самолета /// private void Draw() { @@ -37,7 +37,9 @@ namespace Airbus { Random rnd = new(); _airbus = new DrawningAirbus(); - _airbus.Init(rnd.Next(100, 300), rnd.Next(1000, 2000), Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256))); + EntityAirbus Airbus = new EntityAirbus(); + Airbus.Init(rnd.Next(100, 300), rnd.Next(1000, 2000), Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256))); + _airbus.Init(Airbus); _airbus.SetPosition(rnd.Next(10, 100), rnd.Next(10, 100), pictureBoxAirbus.Width, pictureBoxAirbus.Height); toolStripStatusLabelSpeed.Text = $"Скорость: {_airbus.Airbus.Speed}"; toolStripStatusLabelWeight.Text = $"Вес: {_airbus.Airbus.Weight}";