ПИбд-23 Волков Никита Андреевич Лабораторная работа №1 #1

Closed
bocchanskyy wants to merge 5 commits from Lab1 into main
7 changed files with 31 additions and 24 deletions
Showing only changes of commit d32417974c - Show all commits

View File

@ -22,10 +22,14 @@ namespace Bulldozer
/// </summary> /// </summary>
public Color BodyColor { get; private set; } public Color BodyColor { get; private set; }
/// <summary> /// <summary>
/// Дополнительный цвет /// Дополнительный цвет бульдозера
/// </summary> /// </summary>
public Color AdditionalColor { get; private set; } public Color AdditionalColor { get; private set; }
/// <summary> /// <summary>
/// Дополнительный цвет
/// </summary>
public Color DopColor { get; private set; }
/// <summary>
/// Отвал бульдозера /// Отвал бульдозера
/// </summary> /// </summary>
public bool Blade { get; private set; } public bool Blade { get; private set; }
@ -44,12 +48,13 @@ namespace Bulldozer
/// <param name="additionalColor">Дополнительный цвет</param> /// <param name="additionalColor">Дополнительный цвет</param>
/// <param name="blade">Отвал бульдозера</param> /// <param name="blade">Отвал бульдозера</param>
/// <param name="ripper">Рыхлитель бульдозера</param> /// <param name="ripper">Рыхлитель бульдозера</param>
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool blade, bool ripper) public void Init(int speed, double weight, Color bodyColor, Color additionalColor, Color dopColor, bool blade, bool ripper)
{ {
Speed = speed; Speed = speed;
Weight = weight; Weight = weight;
BodyColor = bodyColor; BodyColor = bodyColor;
AdditionalColor = additionalColor; AdditionalColor = additionalColor;
DopColor = dopColor;
Blade = blade; Blade = blade;
Ripper = ripper; Ripper = ripper;
} }

View File

@ -54,7 +54,7 @@ namespace Bulldozer
/// <param name="width">Ширина изображения</param> /// <param name="width">Ширина изображения</param>
/// <param name="height">Высота изображения</param> /// <param name="height">Высота изображения</param>
public bool Init(int speed, double weight, Color bodyColor, Color additionalColor, bool blade, bool ripper, int width, int height) public bool Init(int speed, double weight, Color bodyColor, Color additionalColor, Color dopColor, bool blade, bool ripper, int width, int height)
{ {
if ((height < _bulldozerHeight) || (width < _bulldozerWidth)) if ((height < _bulldozerHeight) || (width < _bulldozerWidth))
{ {
@ -65,7 +65,7 @@ namespace Bulldozer
_pictureWidth = width; _pictureWidth = width;
_pictureHeight = height; _pictureHeight = height;
EntityBulldozer = new EntityBulldozer(); EntityBulldozer = new EntityBulldozer();
EntityBulldozer.Init(speed, weight, bodyColor, additionalColor, blade, ripper); EntityBulldozer.Init(speed, weight, bodyColor, additionalColor, dopColor, blade, ripper);
return true; return true;
} }
} }
@ -140,7 +140,10 @@ namespace Bulldozer
return; return;
} }
Pen pen = new(Color.Black); Pen pen = new(Color.Black);
Brush bodyBrush = new SolidBrush(EntityBulldozer.BodyColor);
Brush additionalBrush = new SolidBrush(EntityBulldozer.AdditionalColor); Brush additionalBrush = new SolidBrush(EntityBulldozer.AdditionalColor);
Brush dopBrush = new SolidBrush(EntityBulldozer.DopColor);
Pen dopPen = new Pen(EntityBulldozer.DopColor);
/// <summary> /// <summary>
/// <summary> /// <summary>
@ -153,11 +156,11 @@ namespace Bulldozer
Point point3 = new Point(_startPosX, _startPosY + 50); Point point3 = new Point(_startPosX, _startPosY + 50);
Point[] triangle = { point1, point2, point3 }; Point[] triangle = { point1, point2, point3 };
g.FillRectangle(additionalBrush, _startPosX + 8, _startPosY + 29, 8, 8); // заливка основания отвала g.FillRectangle(dopBrush, _startPosX + 8, _startPosY + 29, 8, 8); // заливка основания отвала
g.FillPolygon(additionalBrush, triangle); // заливка отвала g.FillPolygon(dopBrush, triangle); // заливка отвала
g.DrawRectangle(pen, _startPosX+8, _startPosY + 29, 8, 8); // обводка основания отвала g.DrawRectangle(dopPen, _startPosX+8, _startPosY + 29, 8, 8); // обводка основания отвала
g.DrawPolygon(pen, triangle); // обводка отвала g.DrawPolygon(dopPen, triangle); // обводка отвала
} }
/// <summary> /// <summary>
/// Отрисовка рыхлителя бульдозера /// Отрисовка рыхлителя бульдозера
@ -169,11 +172,11 @@ namespace Bulldozer
Point ripperPoint3 = new Point(_startPosX + 140, _startPosY + 60); Point ripperPoint3 = new Point(_startPosX + 140, _startPosY + 60);
Point[] ripper = { ripperPoint1, ripperPoint2, ripperPoint3 }; Point[] ripper = { ripperPoint1, ripperPoint2, ripperPoint3 };
g.FillRectangle(additionalBrush, _startPosX + 136, _startPosY + 29, 15, 8); // заливка основания рыхлителя g.FillRectangle(dopBrush, _startPosX + 136, _startPosY + 29, 15, 8); // заливка основания рыхлителя
g.FillPolygon(additionalBrush, ripper); // заливка отвала g.FillPolygon(dopBrush, ripper); // заливка отвала
g.DrawRectangle(pen, _startPosX + 136, _startPosY + 29, 15, 8); // обводка основания рыхлителя g.DrawRectangle(dopPen, _startPosX + 136, _startPosY + 29, 15, 8); // обводка основания рыхлителя
g.DrawPolygon(pen, ripper); g.DrawPolygon(dopPen, ripper);
} }
/// <summary> /// <summary>
@ -182,14 +185,11 @@ namespace Bulldozer
Brush brGray = new SolidBrush(Color.Gray); Brush brGray = new SolidBrush(Color.Gray);
g.FillEllipse(brGray, _startPosX + 17, _startPosY + 24, 119, 40); //Гусеница g.FillEllipse(brGray, _startPosX + 17, _startPosY + 24, 119, 40); //Гусеница
g.FillEllipse(additionalBrush, _startPosX + 20, _startPosY + 35, 20, 20); // Левое колесо гусеницы
Brush brGrayDk = new SolidBrush(Color.DarkGray); g.FillEllipse(additionalBrush, _startPosX + 115, _startPosY + 35, 20, 20); // Правое колесо гусеницы
g.FillEllipse(additionalBrush, _startPosX + 50, _startPosY + 45, 10, 10); // 1 центральное колесо гусеницы
g.FillEllipse(brGrayDk, _startPosX + 20, _startPosY + 35, 20, 20); // Левое колесо гусеницы g.FillEllipse(additionalBrush, _startPosX + 70, _startPosY + 45, 10, 10); // 2 центральное колесо гусеницы
g.FillEllipse(brGrayDk, _startPosX + 115, _startPosY + 35, 20, 20); // Правое колесо гусеницы g.FillEllipse(additionalBrush, _startPosX + 90, _startPosY + 45, 10, 10); // 3 центральное колесо гусеницы
g.FillEllipse(brGrayDk, _startPosX + 50, _startPosY + 45, 10, 10); // 1 центральное колесо гусеницы
g.FillEllipse(brGrayDk, _startPosX + 70, _startPosY + 45, 10, 10); // 2 центральное колесо гусеницы
g.FillEllipse(brGrayDk, _startPosX + 90, _startPosY + 45, 10, 10); // 3 центральное колесо гусеницы
/// <summary> /// <summary>
/// Отрисовка границ бульдозера /// Отрисовка границ бульдозера
@ -206,9 +206,9 @@ namespace Bulldozer
/// Кузов бульдозера /// Кузов бульдозера
/// </summary> /// </summary>
Brush brBlue = new SolidBrush(Color.Blue); Brush brBlue = new SolidBrush(Color.Blue);
g.FillRectangle(brBlue, _startPosX + 102, _startPosY , 28, 24); //кабина g.FillRectangle(bodyBrush, _startPosX + 102, _startPosY, 28, 24); //кабина
g.FillRectangle(brBlue, _startPosX + 17, _startPosY + 24, 119, 18); // основная часть g.FillRectangle(bodyBrush, _startPosX + 17, _startPosY + 24, 119, 18); // основная часть
g.FillRectangle(brBlue, _startPosX + 30, _startPosY, 10, 24); // выхлопная труба g.FillRectangle(bodyBrush, _startPosX + 30, _startPosY, 10, 24); // выхлопная труба
/// <summary> /// <summary>
/// Корпус /// Корпус

View File

@ -60,6 +60,8 @@ namespace Bulldozer
random.Next(0, 256)), random.Next(0, 256)),
Color.FromArgb(random.Next(0, 256), random.Next(0, 256), Color.FromArgb(random.Next(0, 256), 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)),
Convert.ToBoolean(random.Next(0, 2)), Convert.ToBoolean(random.Next(0, 2)),
pictureBoxBulldozer.Width, pictureBoxBulldozer.Width,

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.