убрала доп цвет из базового класса

This commit is contained in:
a.puchkina 2023-10-25 14:20:24 +04:00
parent feb9260e45
commit 5ac338e378
5 changed files with 17 additions and 30 deletions

View File

@ -67,14 +67,8 @@ namespace AirplaneWithRadar
{
bodyColor = dialog.Color;
}
Color additionalColor = Color.FromArgb(random.Next(0, 256),
random.Next(0, 256), random.Next(0, 256));
if (dialog.ShowDialog() == DialogResult.OK)
{
additionalColor = dialog.Color;
}
_drawningAirplane = new DrawningAirplane(random.Next(100, 300), random.Next(1000, 3000),
bodyColor, additionalColor,
bodyColor,
pictureBoxAirplane.Width, pictureBoxAirplane.Height);
_drawningAirplane.SetPosition(random.Next(10, 100), random.Next(10,
100));

View File

@ -52,12 +52,10 @@ namespace AirplaneWithRadar.DrawningObjects
/// <param name="speed">Скорость</param>
/// <param name="weight">Вес</param>
/// <param name="bodyColor">Цвет фюзеляжа</param>
/// <param name="additionalColor">Дополнительный цвет</param>
/// <param name="width">Ширина картинки</param>
/// <param name="height">Высота картинки</param>
/// <returns>true - объект создан, false - проверка не пройдена, нельзя создать объект в этих размерах</returns>
public DrawningAirplane(int speed, double weight, Color bodyColor, Color
additionalColor, int width, int height)
public DrawningAirplane(int speed, double weight, Color bodyColor, int width, int height)
{
_pictureWidth = width;
_pictureHeight = height;
@ -65,8 +63,7 @@ namespace AirplaneWithRadar.DrawningObjects
{
return;
}
EntityAirplane = new EntityAirplane(speed, weight, bodyColor,
additionalColor);
EntityAirplane = new EntityAirplane(speed, weight, bodyColor);
}
/// <summary>
/// Конструктор
@ -78,7 +75,7 @@ namespace AirplaneWithRadar.DrawningObjects
/// <param name="height">Высота картинки</param>
/// <param name="airplaneWidth">Ширина прорисовки автомобиля</param>
/// <param name="airplaneHeight">Высота прорисовки автомобиля</param>
protected DrawningAirplane(int speed, double weight, Color bodyColor, Color additionalColor, int
protected DrawningAirplane(int speed, double weight, Color bodyColor, int
width, int height, int airplaneWidth, int airplaneHeight)
{
_pictureWidth = width;
@ -89,7 +86,7 @@ namespace AirplaneWithRadar.DrawningObjects
{
return;
}
EntityAirplane = new EntityAirplane(speed, weight, bodyColor, additionalColor);
EntityAirplane = new EntityAirplane(speed, weight, bodyColor);
}
/// <summary>
/// Установка позиции
@ -194,7 +191,6 @@ namespace AirplaneWithRadar.DrawningObjects
return;
}
Pen penBlack = new(Color.Black);
Brush additionalBrush = new SolidBrush(EntityAirplane.AdditionalColor);
Brush bodyBrush = new SolidBrush(EntityAirplane.BodyColor);
//фюзеляж
@ -202,7 +198,7 @@ namespace AirplaneWithRadar.DrawningObjects
g.DrawRectangle(penBlack, _startPosX + 4, _startPosY + 40, 150, 30);
//киль
g.FillPolygon(additionalBrush, new Point[] { new Point(_startPosX + 4, _startPosY + 40), new Point(_startPosX + 4, _startPosY + 0), new Point(_startPosX + 50, _startPosY + 40) });
g.FillPolygon(bodyBrush, new Point[] { new Point(_startPosX + 4, _startPosY + 40), new Point(_startPosX + 4, _startPosY + 0), new Point(_startPosX + 50, _startPosY + 40) });
g.DrawPolygon(penBlack, new Point[] { new Point(_startPosX + 4, _startPosY + 40), new Point(_startPosX + 4, _startPosY + 0), new Point(_startPosX + 50, _startPosY + 40) });
//стабилизатор и крыло
@ -225,7 +221,7 @@ namespace AirplaneWithRadar.DrawningObjects
//кабина
Brush brLightBlue = new SolidBrush(Color.LightBlue);
Pen penBlue = new Pen(Color.CadetBlue);
g.FillPolygon(additionalBrush, new Point[] { new Point(_startPosX + 150, _startPosY + 55), new Point(_startPosX + 190, _startPosY + 55), new Point(_startPosX + 150, _startPosY + 72) });
g.FillPolygon(bodyBrush, new Point[] { new Point(_startPosX + 150, _startPosY + 55), new Point(_startPosX + 190, _startPosY + 55), new Point(_startPosX + 150, _startPosY + 72) });
g.FillPolygon(brLightBlue, new Point[] { new Point(_startPosX + 150, _startPosY + 55), new Point(_startPosX + 150, _startPosY + 38), new Point(_startPosX + 190, _startPosY + 55) });
g.DrawLine(penBlack, new Point(_startPosX + 150, _startPosY + 55), new Point(_startPosX + 150, _startPosY + 38));
g.DrawLine(penBlack, new Point(_startPosX + 150, _startPosY + 38), new Point(_startPosX + 190, _startPosY + 55));

View File

@ -24,7 +24,7 @@ namespace AirplaneWithRadar.DrawningObjects
/// <returns>true - объект создан, false - проверка не пройдена, нельзя создать объект в этих размерах</returns>
public DrawningAirplaneWithRadar(int speed, double weight, Color bodyColor, Color
additionalColor, bool radar, bool tank, bool pin, int width, int height) :
base(speed, weight, bodyColor, additionalolor, width, height)
base(speed, weight, bodyColor, width, height, 200, 85)
{
if (EntityAirplane != null)
{
@ -39,8 +39,7 @@ namespace AirplaneWithRadar.DrawningObjects
return;
}
Pen penBlack = new(Color.Black);
Brush additionalBrush = new SolidBrush(EntityAirplane.AdditionalColor);
Brush bodyBrush = new SolidBrush(EntityAirplane.BodyColor);
Brush additionalBrush = new SolidBrush(airplaneWithRadar.AdditionalColor);
Pen penGray = new Pen(Color.Gray);
// радар

View File

@ -24,10 +24,6 @@ namespace AirplaneWithRadar.Entities
/// </summary>
public Color BodyColor { get; private set; }
/// <summary>
/// Дополнительный цвет (для опциональных элементов)
/// </summary>
public Color AdditionalColor { get; private set; }
/// <summary>
/// Шаг перемещения самолета
/// </summary>
public double Step => (double)Speed * 100 / Weight;
@ -37,14 +33,11 @@ namespace AirplaneWithRadar.Entities
/// <param name="speed">Скорость</param>
/// <param name="weight">Вес самолета</param>
/// <param name="bodyColor">Основной цвет</param>
/// <param name="additionalColor">Дополнительный цвет</param>
public EntityAirplane(int speed, double weight, Color bodyColor, Color
additionalColor)
public EntityAirplane(int speed, double weight, Color bodyColor)
{
Speed = speed;
Weight = weight;
BodyColor = bodyColor;
AdditionalColor = additionalColor;
}
}

View File

@ -11,6 +11,10 @@ namespace AirplaneWithRadar.Entities
/// </summary>
public class EntityAirplaneWithRadar : EntityAirplane
{
/// <summary>
/// Дополнительный цвет (для опциональных элементов)
/// </summary>
public Color AdditionalColor { get; private set; }
/// <summary>
/// Признак (опция) наличия радара
/// </summary>
@ -33,9 +37,10 @@ namespace AirplaneWithRadar.Entities
/// <param name="radar">Признак наличия радара</param>
/// <param name="tank">Признак наличия доп.бака</param>
/// <param name="pin">Признак наличия штыря</param>
public EntityAirplaneWithRadar(int speed, double weight, Color bodyColor, Color
additionalColor, bool radar, bool tank, bool pin) : base (speed, weight, bodyColor)
public EntityAirplaneWithRadar(int speed, double weight, Color bodyColor,
Color additionalColor, bool radar, bool tank, bool pin) : base (speed, weight, bodyColor)
{
AdditionalColor = additionalColor;
Radar = radar;
Tank = tank;
Pin = pin;