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

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; 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), _drawningAirplane = new DrawningAirplane(random.Next(100, 300), random.Next(1000, 3000),
bodyColor, additionalColor, bodyColor,
pictureBoxAirplane.Width, pictureBoxAirplane.Height); pictureBoxAirplane.Width, pictureBoxAirplane.Height);
_drawningAirplane.SetPosition(random.Next(10, 100), random.Next(10, _drawningAirplane.SetPosition(random.Next(10, 100), random.Next(10,
100)); 100));

View File

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

View File

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

View File

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