Лабораторная работа №1

This commit is contained in:
vasmaae 2024-02-13 19:55:51 +04:00
parent a71ffaf757
commit eba9c4907a
3 changed files with 30 additions and 15 deletions

View File

@ -16,7 +16,7 @@ public class DrawningAirbus
/// Ширина окна
/// </summary>
private int? _pictureWidth;
/// <summary>
/// Высота окна
/// </summary>
@ -26,7 +26,7 @@ public class DrawningAirbus
/// Начальная координата х
/// </summary>
private int? _startPosX;
/// <summary>
/// Начальная координата у
/// </summary>
@ -35,12 +35,12 @@ public class DrawningAirbus
/// <summary>
/// Ширина самолета
/// </summary>
private readonly int _drawningAirbusWidth = 145;
public readonly int _drawningAirbusWidth = 145;
/// <summary>
/// Высота самолета
/// </summary>
private readonly int _drawningAirbusHeight = 50;
public readonly int _drawningAirbusHeight = 50;
/// <summary>
/// Инициализация свойств
@ -49,9 +49,7 @@ public class DrawningAirbus
/// <param name="weight">Вес</param>
/// <param name="bodyColor">Основной цвет</param>
/// <param name="additionalColor">Дополнительный цвет</param>
/// <param name="passengerCompartment"></param>
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool additionalEngine,
bool passengerCompartment)
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool additionalEngine, bool passengerCompartment)
{
EntityAirbus = new EntityAirbus();
EntityAirbus.Init(speed, weight, bodyColor, additionalColor, additionalEngine, passengerCompartment);
@ -69,7 +67,6 @@ public class DrawningAirbus
/// <returns></returns>
public bool SetPictureSize(int width, int height)
{
if (width < _drawningAirbusWidth || height < _drawningAirbusHeight) return false;
_pictureWidth = width;
_pictureHeight = height;
return true;

View File

@ -35,11 +35,6 @@ public class EntityAirbus
/// </summary>
public bool PassengerCompartment { get; private set; }
/// <summary>
/// Количество иллюминаторов
/// </summary>
public int NumberOfPortholes { get; private set; }
/// <summary>
/// Шаг перемещения автомобиля
/// </summary>
@ -53,7 +48,7 @@ public class EntityAirbus
/// <param name="bodyColor">Основной цвет</param>
/// <param name="additionalColor">Дополнительный цвет</param>
/// <param name="additionalEngine">Опция наличия дополнительного двигателя</param>
/// <param name="passengerCompartment">Опция наличия </param>
/// <param name="passengerCompartment">Опция наличия дополнительного отсека для пассажиров</param>
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool additionalEngine,
bool passengerCompartment)
{

View File

@ -1,4 +1,6 @@
namespace ProjectAirbus
using System.Diagnostics;
namespace ProjectAirbus
{
/// <summary>
@ -35,6 +37,24 @@
pictureBoxAirbus.Image = bmp;
}
/// <summary>
/// проверка, что объект влезает в размеры формы, если нет - форма увеличивается ровно так, чтобы вместить
/// </summary>
private void FormAirbusSizeChanged()
{
if (this.Width < _drawningAirbus._drawningAirbusWidth)
{
this.Width = _drawningAirbus._drawningAirbusWidth + 20;
_drawningAirbus.SetPictureSize(this.Width, this.Height);
}
if (this.Height < _drawningAirbus._drawningAirbusHeight + 40)
{
this.Height = _drawningAirbus._drawningAirbusHeight + 40;
_drawningAirbus.SetPictureSize(this.Width, this.Height);
}
}
/// <summary>
/// Обработка кнопки "создать"
/// </summary>
@ -48,9 +68,12 @@
Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)),
Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)),
Convert.ToBoolean(random.Next(0, 2)), Convert.ToBoolean(random.Next(0, 2)));
_drawningAirbus.SetPictureSize(pictureBoxAirbus.Width, pictureBoxAirbus.Height);
FormAirbusSizeChanged();
_drawningAirbus.SetPosition(random.Next(10, 100), random.Next(10, 100));
Draw();
}