Лабораторная работа №1
This commit is contained in:
parent
c4161a865c
commit
311e0f7ca4
@ -20,24 +20,24 @@ public class DrawningBoat
|
||||
public int? _pictireHeight;
|
||||
|
||||
/// <summary>
|
||||
/// Левая координата прорисовки катера
|
||||
/// Левая координата прорисовки автобуса
|
||||
/// </summary>
|
||||
public int? _startPosX;
|
||||
|
||||
/// <summary>
|
||||
/// Верхняя координата прорисовки катера
|
||||
/// Верхняя координата прорисовки автобуса
|
||||
/// </summary>
|
||||
public int? _startPosY;
|
||||
|
||||
/// <summary>
|
||||
/// Ширина прорисовки катера
|
||||
/// Ширина прорисовки автобуса
|
||||
/// </summary>
|
||||
public readonly int _drawningBoatWight = 120;
|
||||
public readonly int _drawningBoatWight = 150;
|
||||
|
||||
/// <summary>
|
||||
/// Высота прорисовки катера
|
||||
/// Высота прорисовки автобуса
|
||||
/// </summary>
|
||||
public readonly int _drawningBoatHeight = 40;
|
||||
public readonly int _drawningBoatHeight = 110;
|
||||
|
||||
/// <summary>
|
||||
/// Инициализация свойств
|
||||
@ -46,12 +46,12 @@ public class DrawningBoat
|
||||
/// <param name="weight">Вес</param>
|
||||
/// <param name="bodyColor">Основной цвет</param>
|
||||
/// <param name="additionalColor">Дополнительный цвет</param>
|
||||
/// <param name="lifebuoy">Признак наличия спасательного круга</param>
|
||||
/// <param name="ladder">Признак наличия лестницы</param>
|
||||
/// <param name="flashlight">Признак наличия фонаря</param>
|
||||
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool lifebuoy, bool flashlight)
|
||||
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool ladder, bool flashlight)
|
||||
{
|
||||
EntityBoat = new EntityBoat();
|
||||
EntityBoat.Init(speed, weight, bodyColor, additionalColor, lifebuoy, flashlight);
|
||||
EntityBoat.Init(speed, weight, bodyColor, additionalColor, ladder, flashlight);
|
||||
_pictireWight = null;
|
||||
_pictireHeight = null;
|
||||
_startPosX = null;
|
||||
@ -153,51 +153,85 @@ public class DrawningBoat
|
||||
|
||||
Pen pen = new(Color.Black);
|
||||
Brush additionalBrush = new SolidBrush(EntityBoat.AdditionalColor);
|
||||
Brush br = new SolidBrush(EntityBoat.BodyColor);
|
||||
Brush brRed = new SolidBrush(Color.Red);
|
||||
Brush brBlue = new SolidBrush(Color.Blue);
|
||||
Brush brBlack = new SolidBrush(Color.Black);
|
||||
|
||||
// кузов
|
||||
g.DrawRectangle(pen, _startPosX.Value + 10, _startPosY.Value, 150, 100);
|
||||
g.FillRectangle(br, _startPosX.Value + 10, _startPosY.Value, 150, 100);
|
||||
|
||||
// фонари
|
||||
if (EntityBoat.Flashlight)
|
||||
{
|
||||
g.DrawEllipse(pen, _startPosX.Value + 10, _startPosY.Value + 2, 10, 6);
|
||||
g.DrawEllipse(pen, _startPosX.Value + 10, _startPosY.Value + 32, 10, 6);
|
||||
g.DrawEllipse(pen, _startPosX.Value + 140, _startPosY.Value + 55, 10, 10);
|
||||
g.FillEllipse(brRed, _startPosX.Value + 140, _startPosY.Value + 55, 10, 10);
|
||||
|
||||
g.FillEllipse(additionalBrush, _startPosX.Value + 10, _startPosY.Value + 2, 10, 6);
|
||||
g.FillEllipse(additionalBrush, _startPosX.Value + 10, _startPosY.Value + 32, 10, 6);
|
||||
g.DrawEllipse(pen, _startPosX.Value + 140, _startPosY.Value + 70, 10, 10);
|
||||
g.FillEllipse(brRed, _startPosX.Value + 140, _startPosY.Value + 70, 10, 10);
|
||||
}
|
||||
|
||||
// границы катера
|
||||
g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value, _startPosX.Value + 100, _startPosY.Value);
|
||||
g.DrawLine(pen, _startPosX.Value + 100, _startPosY.Value, _startPosX.Value + 120, _startPosY.Value + 20);
|
||||
g.DrawLine(pen, _startPosX.Value + 120, _startPosY.Value + 20, _startPosX.Value + 100, _startPosY.Value + 40);
|
||||
g.DrawLine(pen, _startPosX.Value + 100, _startPosY.Value + 40, _startPosX.Value + 10, _startPosY.Value + 40);
|
||||
// дверь
|
||||
g.DrawRectangle(pen, _startPosX.Value + 50, _startPosY.Value + 30, 30, 60);
|
||||
g.FillRectangle(additionalBrush, _startPosX.Value + 50, _startPosY.Value + 30, 30, 60);
|
||||
|
||||
// задняя часть
|
||||
g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value + 40, _startPosX.Value + 10, _startPosY.Value + 30);
|
||||
g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value + 30, _startPosX.Value, _startPosY.Value + 30);
|
||||
g.DrawLine(pen, _startPosX.Value, _startPosY.Value + 30, _startPosX.Value + 10, _startPosY.Value + 40);
|
||||
// ручка двери
|
||||
g.DrawRectangle(pen, _startPosX.Value + 66, _startPosY.Value + 50,7, 4);
|
||||
g.FillRectangle(brBlack, _startPosX.Value + 66, _startPosY.Value + 50, 7, 4);
|
||||
|
||||
g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value, _startPosX.Value + 10, _startPosY.Value + 10);
|
||||
g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value + 10, _startPosX.Value, _startPosY.Value + 10);
|
||||
g.DrawLine(pen, _startPosX.Value, _startPosY.Value + 10, _startPosX.Value + 10, _startPosY.Value);
|
||||
// окно видителя
|
||||
|
||||
Brush brRed = new SolidBrush(Color.Red);
|
||||
g.FillRectangle(brRed, _startPosX.Value + 5, _startPosY.Value + 10, 15, 20);
|
||||
g.DrawRectangle(pen, _startPosX.Value + 135, _startPosY.Value + 5, 20, 40);
|
||||
g.FillRectangle(brBlue, _startPosX.Value + 135, _startPosY.Value + 5, 20, 40);
|
||||
|
||||
// кузов
|
||||
Brush br = new SolidBrush(EntityBoat.BodyColor);
|
||||
g.FillRectangle(br, _startPosX.Value + 20, _startPosY.Value, 80, 40);
|
||||
// посажирские окна
|
||||
//
|
||||
// первый ряд
|
||||
g.DrawEllipse(pen, _startPosX.Value + 50, _startPosY.Value + 5, 16, 16);
|
||||
g.FillEllipse(brBlue, _startPosX.Value + 50, _startPosY.Value + 5, 16, 16);
|
||||
|
||||
// окно
|
||||
Brush brBlue = new SolidBrush(Color.Blue);
|
||||
g.FillEllipse(brBlue, _startPosX.Value + 30, _startPosY.Value + 10, 40, 20);
|
||||
g.DrawEllipse(pen, _startPosX.Value + 71, _startPosY.Value + 5, 16, 16);
|
||||
g.FillEllipse(brBlue, _startPosX.Value + 71, _startPosY.Value + 5, 16, 16);
|
||||
|
||||
// спасательный круг
|
||||
if (EntityBoat.Lifebuoy)
|
||||
g.DrawEllipse(pen, _startPosX.Value + 92, _startPosY.Value + 5, 16, 16);
|
||||
g.FillEllipse(brBlue, _startPosX.Value + 92, _startPosY.Value + 5, 16, 16);
|
||||
|
||||
g.DrawEllipse(pen, _startPosX.Value + 113, _startPosY.Value + 5, 16, 16);
|
||||
g.FillEllipse(brBlue, _startPosX.Value + 113, _startPosY.Value + 5, 16, 16);
|
||||
// второй ряд
|
||||
g.DrawEllipse(pen, _startPosX.Value + 92, _startPosY.Value + 26, 16, 16);
|
||||
g.FillEllipse(brBlue, _startPosX.Value + 92, _startPosY.Value + 26, 16, 16);
|
||||
|
||||
g.DrawEllipse(pen, _startPosX.Value + 113, _startPosY.Value + 26, 16, 16);
|
||||
g.FillEllipse(brBlue, _startPosX.Value + 113, _startPosY.Value + 26, 16, 16);
|
||||
|
||||
// колёса
|
||||
g.DrawEllipse(pen, _startPosX.Value + 20, _startPosY.Value + 90, 20, 20);
|
||||
g.FillEllipse(additionalBrush, _startPosX.Value + 20, _startPosY.Value + 90, 20, 20);
|
||||
|
||||
g.DrawEllipse(pen, _startPosX.Value + 130, _startPosY.Value + 90, 20, 20);
|
||||
g.FillEllipse(additionalBrush, _startPosX.Value + 130, _startPosY.Value + 90, 20, 20);
|
||||
|
||||
// лестница
|
||||
if (EntityBoat.Ladder)
|
||||
{
|
||||
g.DrawEllipse(pen, _startPosX.Value + 80, _startPosY.Value + 15, 15, 15);
|
||||
g.DrawEllipse(pen, _startPosX.Value + 85, _startPosY.Value + 20, 5, 5);
|
||||
// вертикальные линии
|
||||
g.DrawRectangle(pen, _startPosX.Value + 20, _startPosY.Value + 15, 3, 42);
|
||||
g.FillRectangle(brBlack, _startPosX.Value + 20, _startPosY.Value + 15, 3, 42);
|
||||
|
||||
g.FillEllipse(additionalBrush, _startPosX.Value + 80, _startPosY.Value + 15, 15, 15);
|
||||
g.FillEllipse(br, _startPosX.Value + 85, _startPosY.Value + 20, 5, 5);
|
||||
g.DrawRectangle(pen, _startPosX.Value + 35, _startPosY.Value + 15, 3, 42);
|
||||
g.FillRectangle(brBlack, _startPosX.Value + 35, _startPosY.Value + 15, 3, 42);
|
||||
|
||||
// горзонтальные линии
|
||||
g.DrawRectangle(pen, _startPosX.Value + 15, _startPosY.Value + 25, 30, 3);
|
||||
g.FillRectangle(brBlack, _startPosX.Value + 15, _startPosY.Value + 25, 30, 3);
|
||||
|
||||
g.DrawRectangle(pen, _startPosX.Value + 15, _startPosY.Value + 35, 30, 3);
|
||||
g.FillRectangle(brBlack, _startPosX.Value + 15, _startPosY.Value + 35, 30, 3);
|
||||
|
||||
g.DrawRectangle(pen, _startPosX.Value + 15, _startPosY.Value + 45, 30, 3);
|
||||
g.FillRectangle(brBlack, _startPosX.Value + 15, _startPosY.Value + 45, 30, 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
namespace ProjectBoat;
|
||||
/// <summary>
|
||||
/// Класс-сущность "Катер"
|
||||
/// Класс-сущность "Автобус"
|
||||
/// </summary>
|
||||
public class EntityBoat
|
||||
{
|
||||
@ -25,9 +25,9 @@ public class EntityBoat
|
||||
public Color AdditionalColor { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Признак (опция) наличия спасательного круга
|
||||
/// Признак (опция) наличия лестницы
|
||||
/// </summary>
|
||||
public bool Lifebuoy { get; private set; }
|
||||
public bool Ladder { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Признак (опция) наличия фонаря
|
||||
@ -35,26 +35,26 @@ public class EntityBoat
|
||||
public bool Flashlight { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Шаг перемещения катера
|
||||
/// Шаг перемещения автобуса
|
||||
/// </summary>
|
||||
public double Step => Speed * 100 / Weight;
|
||||
|
||||
/// <summary>
|
||||
/// Инициализация полей объекта-класса катера
|
||||
/// Инициализация полей объекта-класса автобуса
|
||||
/// </summary>
|
||||
/// <param name="speed">Скорость</param>
|
||||
/// <param name="weight">Вес катера</param>
|
||||
/// <param name="weight">Вес</param>
|
||||
/// <param name="bodyColor">Основной цвет</param>
|
||||
/// <param name="additionalColor">Дополнительный цвет </param>
|
||||
/// <param name="lifebuoy">Признак наличия спасательного круга</param>
|
||||
/// <param name="ladder">Признак наличия лестницы</param>
|
||||
/// <param name="flashlight">Признак наличия фонарей</param>
|
||||
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool lifebuoy, bool flashlight)
|
||||
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool ladder, bool flashlight)
|
||||
{
|
||||
Speed = speed;
|
||||
Weight = weight;
|
||||
BodyColor = bodyColor;
|
||||
AdditionalColor = additionalColor;
|
||||
Lifebuoy = lifebuoy;
|
||||
Ladder = ladder;
|
||||
Flashlight = flashlight;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user