ПИбд-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>
public Color BodyColor { get; private set; }
/// <summary>
/// Дополнительный цвет
/// Дополнительный цвет бульдозера
/// </summary>
public Color AdditionalColor { get; private set; }
/// <summary>
/// Дополнительный цвет
/// </summary>
public Color DopColor { get; private set; }
/// <summary>
/// Отвал бульдозера
/// </summary>
public bool Blade { get; private set; }
@ -44,12 +48,13 @@ namespace Bulldozer
/// <param name="additionalColor">Дополнительный цвет</param>
/// <param name="blade">Отвал бульдозера</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;
Weight = weight;
BodyColor = bodyColor;
AdditionalColor = additionalColor;
DopColor = dopColor;
Blade = blade;
Ripper = ripper;
}

View File

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

View File

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.