Первая лабораторная работа

This commit is contained in:
ArtemEmelyanov 2022-09-22 13:24:17 +04:00
parent 7395e11580
commit 114e434c52
3 changed files with 25 additions and 17 deletions

View File

@ -14,11 +14,11 @@ namespace Airbus
public EntityAirbus Airbus { get; private set; } public EntityAirbus Airbus { get; private set; }
/// <summary> /// <summary>
/// Левая координата отрисовки автомобиля /// Левая координата отрисовки самолета
/// </summary> /// </summary>
private float _startPosX; private float _startPosX;
/// <summary> /// <summary>
/// Верхняя кооридната отрисовки автомобиля /// Верхняя кооридната отрисовки самолета
/// </summary> /// </summary>
private float _startPosY; private float _startPosY;
/// <summary> /// <summary>
@ -29,27 +29,28 @@ namespace Airbus
/// Высота окна отрисовки /// Высота окна отрисовки
/// </summary> /// </summary>
private int? _pictureHeight = null; private int? _pictureHeight = null;
/// <summary> /// <summary>
/// Ширина отрисовки автомобиля /// Ширина отрисовки самолета
/// </summary> /// </summary>
private readonly int _AirbusWidth = 130; private readonly int _AirbusWidth = 130;
/// <summary> /// <summary>
/// Высота отрисовки автомобиля /// Высота отрисовки самолета
/// </summary> /// </summary>
private readonly int _AirbusHeight = 70; private readonly int _AirbusHeight = 70;
/// <summary> /// <summary>
/// Инициализация свойств /// Инициализация свойств
/// </summary> /// </summary>
/// <param name="speed">Скорость</param> /// <param name="speed">Скорость</param>
/// <param name="weight">Вес автомобиля</param> /// <param name="weight">Вес самолета</param>
/// <param name="bodyColor">Цвет кузова</param> /// <param name="bodyColor">Цвет кузова</param>
public void Init(int speed, float weight, Color bodyColor) public void Init(EntityAirbus Airbus)
{ {
Airbus = new EntityAirbus(); this.Airbus = Airbus;
Airbus.Init(speed, weight, bodyColor);
} }
/// <summary> /// <summary>
/// Установка позиции автомобиля /// Установка позиции самолета
/// </summary> /// </summary>
/// <param name="x">Координата X</param> /// <param name="x">Координата X</param>
/// <param name="y">Координата Y</param> /// <param name="y">Координата Y</param>
@ -57,11 +58,14 @@ namespace Airbus
/// <param name="height">Высота картинки</param> /// <param name="height">Высота картинки</param>
public void SetPosition(int x, int y, int width, int height) public void SetPosition(int x, int y, int width, int height)
{ {
// TODO checks if (x >= 0 && x + _AirbusWidth <= width && y >= 0 && y + _AirbusHeight <= height)
_startPosX = x; {
_startPosY = y; _startPosX = x;
_pictureWidth = width; _startPosY = y;
_pictureHeight = height; _pictureWidth = width;
_pictureHeight = height;
}
} }
/// <summary> /// <summary>
/// Изменение направления пермещения /// Изменение направления пермещения
@ -106,7 +110,7 @@ namespace Airbus
} }
} }
/// <summary> /// <summary>
/// Отрисовка автомобиля /// Отрисовка самолета
/// </summary> /// </summary>
/// <param name="g"></param> /// <param name="g"></param>
public void DrawTransport(Graphics g) public void DrawTransport(Graphics g)

View File

@ -38,5 +38,7 @@ namespace Airbus
Weight = weight <= 0 ? rnd.Next(40, 70) : weight; Weight = weight <= 0 ? rnd.Next(40, 70) : weight;
BodyColor = bodyColor; BodyColor = bodyColor;
} }
} }
} }

View File

@ -19,7 +19,7 @@ namespace Airbus
InitializeComponent(); InitializeComponent();
} }
/// <summary> /// <summary>
/// Метод прорисовки машины /// Метод прорисовки самолета
/// </summary> /// </summary>
private void Draw() private void Draw()
{ {
@ -37,7 +37,9 @@ namespace Airbus
{ {
Random rnd = new(); Random rnd = new();
_airbus = new DrawningAirbus(); _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); _airbus.SetPosition(rnd.Next(10, 100), rnd.Next(10, 100), pictureBoxAirbus.Width, pictureBoxAirbus.Height);
toolStripStatusLabelSpeed.Text = $"Скорость: {_airbus.Airbus.Speed}"; toolStripStatusLabelSpeed.Text = $"Скорость: {_airbus.Airbus.Speed}";
toolStripStatusLabelWeight.Text = $"Вес: {_airbus.Airbus.Weight}"; toolStripStatusLabelWeight.Text = $"Вес: {_airbus.Airbus.Weight}";