PIbd-22. Bulatova K.R. LabWork_01 #1
@ -32,13 +32,13 @@ namespace WarmlyShip
|
||||
/// </summary>
|
||||
private int _startPosY;
|
||||
/// <summary>
|
||||
/// Ширина прорисовки автомобиля
|
||||
/// Ширина прорисовки теплохода
|
||||
/// </summary>
|
||||
private readonly int _carWidth = 110;
|
||||
private readonly int _WarmlyShipWidth = 170;
|
||||
/// <summary>
|
||||
/// Высота прорисовки автомобиля
|
||||
/// Высота прорисовки теплохода
|
||||
/// </summary>
|
||||
private readonly int _carHeight = 60;
|
||||
private readonly int _WarmlyShipHeight = 180;
|
||||
/// <summary>
|
||||
/// Инициализация свойств
|
||||
/// </summary>
|
||||
@ -102,11 +102,17 @@ additionalColor, bool bodyKit, bool wing, bool sportLine, int width, int height)
|
||||
break;
|
||||
// вправо
|
||||
case DirectionType.Right:
|
||||
_startPosX += (int)EntityWarmlyShip.Step;
|
||||
if (_startPosX + _WarmlyShipWidth + EntityWarmlyShip.Step < _pictureWidth)
|
||||
{
|
||||
_startPosX += (int)EntityWarmlyShip.Step;
|
||||
}
|
||||
break;
|
||||
//вниз
|
||||
case DirectionType.Down:
|
||||
_startPosY += (int)EntityWarmlyShip.Step;
|
||||
if (_startPosY + _WarmlyShipHeight + EntityWarmlyShip.Step < _pictureHeight)
|
||||
{
|
||||
_startPosY += (int)EntityWarmlyShip.Step;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -120,121 +126,36 @@ additionalColor, bool bodyKit, bool wing, bool sportLine, int width, int height)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Pen pen = new(Color.Black);
|
||||
Brush additionalBrush = new
|
||||
SolidBrush(EntityWarmlyShip.AdditionalColor);
|
||||
// обвесы
|
||||
if (EntityWarmlyShip.BodyKit)
|
||||
Pen pen = new(Color.Black, 2);
|
||||
Pen anchor = new(Color.Black, 4);
|
||||
Brush additionalBrush = new SolidBrush(EntityWarmlyShip.BodyColor);
|
||||
//корпус теплохода
|
||||
Point[] hull = new Point[]
|
||||
{
|
||||
g.DrawEllipse(pen, _startPosX + 90, _startPosY, 20, 20);
|
||||
g.DrawEllipse(pen, _startPosX + 90, _startPosY + 40, 20,
|
||||
20);
|
||||
g.DrawRectangle(pen, _startPosX + 90, _startPosY + 10,
|
||||
20, 40);
|
||||
g.DrawRectangle(pen, _startPosX + 90, _startPosY, 15,
|
||||
15);
|
||||
g.DrawRectangle(pen, _startPosX + 90, _startPosY + 45,
|
||||
15, 15);
|
||||
g.FillEllipse(additionalBrush, _startPosX + 90,
|
||||
_startPosY, 20, 20);
|
||||
g.FillEllipse(additionalBrush, _startPosX + 90,
|
||||
_startPosY + 40, 20, 20);
|
||||
g.FillRectangle(additionalBrush, _startPosX + 90,
|
||||
_startPosY + 10, 20, 40);
|
||||
g.FillRectangle(additionalBrush, _startPosX + 90,
|
||||
_startPosY + 1, 15, 15);
|
||||
g.FillRectangle(additionalBrush, _startPosX + 90,
|
||||
_startPosY + 45, 15, 15);
|
||||
g.DrawEllipse(pen, _startPosX, _startPosY, 20, 20);
|
||||
g.DrawEllipse(pen, _startPosX, _startPosY + 40, 20, 20);
|
||||
g.DrawRectangle(pen, _startPosX, _startPosY + 10, 20,
|
||||
40);
|
||||
g.DrawRectangle(pen, _startPosX + 5, _startPosY, 14,
|
||||
15);
|
||||
g.DrawRectangle(pen, _startPosX + 5, _startPosY + 45,
|
||||
14, 15);
|
||||
g.FillEllipse(additionalBrush, _startPosX, _startPosY,
|
||||
20, 20);
|
||||
g.FillEllipse(additionalBrush, _startPosX, _startPosY +
|
||||
40, 20, 20);
|
||||
g.FillRectangle(additionalBrush, _startPosX + 1,
|
||||
_startPosY + 10, 25, 40);
|
||||
g.FillRectangle(additionalBrush, _startPosX + 5,
|
||||
_startPosY + 1, 15, 15);
|
||||
g.FillRectangle(additionalBrush, _startPosX + 5,
|
||||
_startPosY + 45, 15, 15);
|
||||
g.DrawRectangle(pen, _startPosX + 35, _startPosY, 39,
|
||||
15);
|
||||
g.DrawRectangle(pen, _startPosX + 35, _startPosY + 45,
|
||||
39, 15);
|
||||
g.FillRectangle(additionalBrush, _startPosX + 35,
|
||||
_startPosY + 1, 40, 15);
|
||||
g.FillRectangle(additionalBrush, _startPosX + 35,
|
||||
_startPosY + 45, 40, 15);
|
||||
}
|
||||
//границы автомобиля
|
||||
g.DrawEllipse(pen, _startPosX + 10, _startPosY + 5, 20, 20);
|
||||
g.DrawEllipse(pen, _startPosX + 10, _startPosY + 35, 20, 20);
|
||||
g.DrawEllipse(pen, _startPosX + 80, _startPosY + 5, 20, 20);
|
||||
g.DrawEllipse(pen, _startPosX + 80, _startPosY + 35, 20, 20);
|
||||
g.DrawRectangle(pen, _startPosX + 9, _startPosY + 15, 10, 30);
|
||||
g.DrawRectangle(pen, _startPosX + 90, _startPosY + 15, 10,
|
||||
30);
|
||||
g.DrawRectangle(pen, _startPosX + 20, _startPosY + 4, 70, 52);
|
||||
//задние фары
|
||||
Brush brRed = new SolidBrush(Color.Red);
|
||||
g.FillEllipse(brRed, _startPosX + 10, _startPosY + 5, 20, 20);
|
||||
g.FillEllipse(brRed, _startPosX + 10, _startPosY + 35, 20,
|
||||
20);
|
||||
//передние фары
|
||||
Brush brYellow = new SolidBrush(Color.Yellow);
|
||||
g.FillEllipse(brYellow, _startPosX + 80, _startPosY + 5, 20,
|
||||
20);
|
||||
g.FillEllipse(brYellow, _startPosX + 80, _startPosY + 35, 20,
|
||||
20);
|
||||
//кузов
|
||||
Brush br = new SolidBrush(EntityWarmlyShip.BodyColor);
|
||||
g.FillRectangle(br, _startPosX + 10, _startPosY + 15, 10, 30);
|
||||
g.FillRectangle(br, _startPosX + 90, _startPosY + 15, 10, 30);
|
||||
g.FillRectangle(br, _startPosX + 20, _startPosY + 5, 70, 50);
|
||||
//стекла
|
||||
Brush brBlue = new SolidBrush(Color.LightBlue);
|
||||
g.FillRectangle(brBlue, _startPosX + 70, _startPosY + 10, 5,
|
||||
40);
|
||||
g.FillRectangle(brBlue, _startPosX + 30, _startPosY + 10, 5,
|
||||
40);
|
||||
g.FillRectangle(brBlue, _startPosX + 35, _startPosY + 8, 35,
|
||||
2);
|
||||
g.FillRectangle(brBlue, _startPosX + 35, _startPosY + 51, 35,
|
||||
2);
|
||||
//выделяем рамкой крышу
|
||||
g.DrawRectangle(pen, _startPosX + 35, _startPosY + 10, 35,
|
||||
40);
|
||||
g.DrawRectangle(pen, _startPosX + 75, _startPosY + 15, 25,
|
||||
30);
|
||||
g.DrawRectangle(pen, _startPosX + 10, _startPosY + 15, 15,
|
||||
30);
|
||||
// спортивная линия
|
||||
if (EntityWarmlyShip.SportLine)
|
||||
{
|
||||
g.FillRectangle(additionalBrush, _startPosX + 75,
|
||||
_startPosY + 23, 25, 15);
|
||||
g.FillRectangle(additionalBrush, _startPosX + 35,
|
||||
_startPosY + 23, 35, 15);
|
||||
g.FillRectangle(additionalBrush, _startPosX + 10,
|
||||
_startPosY + 23, 20, 15);
|
||||
}
|
||||
// крыло
|
||||
if (EntityWarmlyShip.Wing)
|
||||
{
|
||||
g.FillRectangle(additionalBrush, _startPosX, _startPosY
|
||||
+ 5, 10, 50);
|
||||
g.DrawRectangle(pen, _startPosX, _startPosY + 5, 10,
|
||||
50);
|
||||
}
|
||||
new Point(_startPosX + 10, _startPosY + 115),
|
||||
new Point(_startPosX + 190, _startPosY + 115),
|
||||
new Point(_startPosX + 150, _startPosY + 190),
|
||||
new Point(_startPosX + 50, _startPosY + 190),
|
||||
};
|
||||
g.FillPolygon(additionalBrush, hull);
|
||||
g.DrawPolygon(pen, hull);
|
||||
Brush bra = new SolidBrush(EntityWarmlyShip.AdditionalColor);
|
||||
//палуба
|
||||
g.FillRectangle(bra, _startPosX + 35, _startPosY + 85, 130, 30);
|
||||
g.DrawRectangle(pen, _startPosX + 35, _startPosY + 85, 130, 30);
|
||||
//отсек для топлива
|
||||
Brush brGray = new SolidBrush(Color.Gray);
|
||||
g.FillEllipse(brGray, _startPosX + 140, _startPosY + 130, 20, 20);
|
||||
g.DrawEllipse(pen, _startPosX + 140, _startPosY + 130, 20, 20);
|
||||
//трубы
|
||||
g.FillRectangle(additionalBrush, _startPosX + 65, _startPosY + 5, 25, 80);
|
||||
g.DrawRectangle(pen, _startPosX + 65, _startPosY + 5, 25, 80);
|
||||
g.FillRectangle(additionalBrush, _startPosX + 100, _startPosY + 25, 25, 60);
|
||||
g.DrawRectangle(pen, _startPosX + 100, _startPosY + 25, 25, 60);
|
||||
//якорь
|
||||
g.DrawLine(anchor, new Point(_startPosX + 50, _startPosY + 130), new Point(_startPosX + 50,_startPosY + 150));
|
||||
g.DrawLine(anchor, new Point(_startPosX + 40, _startPosY + 140), new Point(_startPosX + 60, _startPosY + 140));
|
||||
g.DrawLine(anchor, new Point(_startPosX + 45, _startPosY + 150), new Point(_startPosX + 55, _startPosY + 150));
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user