From 526e4cf11ea8d2cd0392e60155b8673b18bb64e7 Mon Sep 17 00:00:00 2001 From: prodigygirl Date: Mon, 3 Oct 2022 08:51:01 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=BE=D0=B2=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20"=D0=BF=D1=80=D0=BE=D0=B4=D0=B2=D0=B8=D0=BD?= =?UTF-8?q?=D1=83=D1=82=D0=BE=D0=B3=D0=BE"=20=D0=BE=D0=B1=D1=8A=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ArmoredCar/ArmoredCar/DrawningTank.cs | 52 +++++++++++++++++++++++++++ ArmoredCar/ArmoredCar/EntityTank.cs | 43 ++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 ArmoredCar/ArmoredCar/DrawningTank.cs create mode 100644 ArmoredCar/ArmoredCar/EntityTank.cs diff --git a/ArmoredCar/ArmoredCar/DrawningTank.cs b/ArmoredCar/ArmoredCar/DrawningTank.cs new file mode 100644 index 0000000..b874d52 --- /dev/null +++ b/ArmoredCar/ArmoredCar/DrawningTank.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ArmoredCar +{ + internal class DrawningTank : DrawningArmoredCar + { + /// + /// Инициализация свойств + /// + /// Скорость + /// Вес бронированной машины + /// Цвет кузова + /// Дополнительный цвет + /// Признак наличия башни с орудием + /// Признак наличия зенитного пулемета + public DrawningTank(int speed, float weight, Color bodyColor, Color + dopColor, bool towerWeapon, bool aMachineGun) : + base(speed, weight, bodyColor, 110, 60) + { + ArmoredCar = new EntityTank(speed, weight, bodyColor, dopColor, towerWeapon, aMachineGun); + } + public override void DrawTransport(Graphics g) + { + if (ArmoredCar is not EntityTank Tank) + { + return; + } + Brush dopBrush = new SolidBrush(Tank.DopColor); + + if (Tank.AMachineGun) + { + g.FillRectangle(dopBrush, _startPosX + 40, _startPosY, 5, 20); + g.FillRectangle(dopBrush, _startPosX + 40, _startPosY, 40, 5); + g.FillEllipse(dopBrush, _startPosX + 27, _startPosY + 7, 30, 10); + } + if (Tank.TowerWeapon) + { + g.FillRectangle(dopBrush, _startPosX + 60, _startPosY + 15, 7, 10); + g.FillRectangle(dopBrush, _startPosX + 60, _startPosY + 17, 20, 5); + } + _startPosY += 10; + base.DrawTransport(g); + _startPosY -= 10; + } + + } +} diff --git a/ArmoredCar/ArmoredCar/EntityTank.cs b/ArmoredCar/ArmoredCar/EntityTank.cs new file mode 100644 index 0000000..e540189 --- /dev/null +++ b/ArmoredCar/ArmoredCar/EntityTank.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ArmoredCar +{ + internal class EntityTank : EntityArmoredCar + { + /// + /// Дополнительный цвет + /// + public Color DopColor { get; private set; } + /// + /// Признак наличия башни с орудием + /// + public bool TowerWeapon { get; private set; } + /// + /// Признак наличия зенитного пулемета + /// + public bool AMachineGun { get; private set; } + + /// + /// Инициализация свойств + /// + /// Скорость + /// Вес бронированной машины + /// Цвет кузова + /// Дополнительный цвет + /// Признак наличия башни с орудием + /// Признак наличия зенитного пулемета + public EntityTank(int speed, float weight, Color bodyColor, Color + dopColor, bool towerWeapon, bool aMachineGun) : + base(speed, weight, bodyColor) + { + DopColor = dopColor; + TowerWeapon = towerWeapon; + AMachineGun = aMachineGun; + } + } +}