Borschevskaya A.A. Lab Work 2 #2
52
ArmoredCar/ArmoredCar/DrawningTank.cs
Normal file
52
ArmoredCar/ArmoredCar/DrawningTank.cs
Normal file
@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// Инициализация свойств
|
||||
/// </summary>
|
||||
/// <param name="speed">Скорость</param>
|
||||
/// <param name="weight">Вес бронированной машины</param>
|
||||
/// <param name="bodyColor">Цвет кузова</param>
|
||||
/// <param name="dopColor">Дополнительный цвет</param>
|
||||
/// <param name="towerWeapon">Признак наличия башни с орудием</param>
|
||||
/// <param name="aMachineGun">Признак наличия зенитного пулемета</param>
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
43
ArmoredCar/ArmoredCar/EntityTank.cs
Normal file
43
ArmoredCar/ArmoredCar/EntityTank.cs
Normal file
@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// Дополнительный цвет
|
||||
/// </summary>
|
||||
public Color DopColor { get; private set; }
|
||||
/// <summary>
|
||||
/// Признак наличия башни с орудием
|
||||
/// </summary>
|
||||
public bool TowerWeapon { get; private set; }
|
||||
/// <summary>
|
||||
/// Признак наличия зенитного пулемета
|
||||
/// </summary>
|
||||
public bool AMachineGun { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Инициализация свойств
|
||||
/// </summary>
|
||||
/// <param name="speed">Скорость</param>
|
||||
/// <param name="weight">Вес бронированной машины</param>
|
||||
/// <param name="bodyColor">Цвет кузова</param>
|
||||
/// <param name="dopColor">Дополнительный цвет</param>
|
||||
/// <param name="towerWeapon">Признак наличия башни с орудием</param>
|
||||
/// <param name="aMachineGun">Признак наличия зенитного пулемета</param>
|
||||
public EntityTank(int speed, float weight, Color bodyColor, Color
|
||||
dopColor, bool towerWeapon, bool aMachineGun) :
|
||||
base(speed, weight, bodyColor)
|
||||
{
|
||||
DopColor = dopColor;
|
||||
TowerWeapon = towerWeapon;
|
||||
AMachineGun = aMachineGun;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user