улучшение рисунка, добавление паруса

This commit is contained in:
pyzhov.egor
2024-02-09 23:06:37 +04:00
parent 62da30a031
commit d888f534e7
3 changed files with 29 additions and 26 deletions

View File

@@ -153,6 +153,7 @@ public class DrawingCatamaran
};
g.FillPolygon(additionalBrush, Float);
g.DrawPolygon(Pens.Black, Float);
}
/// <summary>
/// Прорисовка объекта
@@ -167,49 +168,51 @@ public class DrawingCatamaran
}
Pen pen = new(Color.Black);
Brush additionalBrush = new SolidBrush(EntityCatamaran.AdditionalColor);
Brush BodyBrush = new SolidBrush(EntityCatamaran.BodyColor);
Brush additionalBrush = new SolidBrush(EntityCatamaran.AdditionalColor);
Pen additionalPen = new(EntityCatamaran.AdditionalColor, 2);
// границы катамарана
Point[] catamaranBorders = new Point[]
{
new Point(_startPosX.Value + 10, _startPosY.Value + 10),
new Point(_startPosX.Value + 90, _startPosY.Value + 10),
new Point(_startPosX.Value + 117, _startPosY.Value + 25),
new Point(_startPosX.Value + 90, _startPosY.Value + 40),
new Point(_startPosX.Value + 10, _startPosY.Value + 40),
new Point(_startPosX.Value + 80, _startPosY.Value + 10),
new Point(_startPosX.Value + 107, _startPosY.Value + 30),
new Point(_startPosX.Value + 80, _startPosY.Value + 45),
new Point(_startPosX.Value + 10, _startPosY.Value + 45),
};
g.DrawPolygon(pen, catamaranBorders);
g.DrawEllipse(pen, _startPosX.Value + 15, _startPosY.Value + 14, 73, 22);
g.DrawPolygon(pen, catamaranBorders);
g.FillPolygon(BodyBrush, catamaranBorders);
if(EntityCatamaran.Floats)
g.DrawEllipse(pen, _startPosX.Value + 17, _startPosY.Value + 14, 65, 27);
g.FillEllipse(Brushes.White, _startPosX.Value + 17, _startPosY.Value + 14, 65, 27);
if(EntityCatamaran.Floaters)
{
g.DrawLine(pen, _startPosX.Value + 20, _startPosY.Value + 10, _startPosX.Value + 20, _startPosY.Value + 7);
g.DrawLine(pen, _startPosX.Value + 80, _startPosY.Value + 10, _startPosX.Value + 80, _startPosY.Value + 7);
g.DrawLine(pen, _startPosX.Value + 20, _startPosY.Value + 40, _startPosX.Value + 20, _startPosY.Value + 43);
g.DrawLine(pen, _startPosX.Value + 80, _startPosY.Value + 40, _startPosX.Value + 80, _startPosY.Value + 43);
g.DrawLine(pen, _startPosX.Value + 20, _startPosY.Value + 45, _startPosX.Value + 20, _startPosY.Value + 48);
g.DrawLine(pen, _startPosX.Value + 80, _startPosY.Value + 45, _startPosX.Value + 80, _startPosY.Value + 48);
DrawFloat(1, additionalBrush, g);
DrawFloat(43, additionalBrush, g);
DrawFloat(48, additionalBrush, g);
}
if (EntityCatamaran.Sail)
{
Pen thickPen = new(Color.Black, 3);
g.DrawLine(thickPen, _startPosX.Value + 40, _startPosY.Value + 22, _startPosX.Value + 40, _startPosY.Value + 28);
Point[] Sail = new Point[]
{
new Point(_startPosX.Value + 41, _startPosY.Value + 8),
new Point(_startPosX.Value + 41, _startPosY.Value + 40),
new Point(_startPosX.Value + 46, _startPosY.Value + 36),
new Point(_startPosX.Value + 46, _startPosY.Value + 12),
new Point(_startPosX.Value + 41, _startPosY.Value + 8),
new Point(_startPosX.Value + 50, _startPosY.Value + 35),
new Point(_startPosX.Value + 35, _startPosY.Value + 29),
new Point(_startPosX.Value + 35, _startPosY.Value + 14),
new Point(_startPosX.Value + 50, _startPosY.Value + 8),
new Point(_startPosX.Value + 50, _startPosY.Value + 33),
};
g.FillPolygon(additionalBrush, Sail);
g.DrawPolygon(pen, Sail);
}
}
}

View File

@@ -25,7 +25,7 @@ public class EntityCatamaran
/// <summary>
/// Признак наличия поплавков слева и справа
/// </summary>
public bool Floats { get; private set; }
public bool Floaters { get; private set; }
public bool Sail { get; private set; }
@@ -41,15 +41,15 @@ public class EntityCatamaran
/// <param name="weight">вес</param>
/// <param name="bodyColor">основной цвет</param>
/// <param name="additionalColor">доп цвет для паурса и поплавков</param>
/// <param name="floats">наличие поплавков</param>
/// <param name="floaters">наличие поплавков</param>
/// <param name="sail">наличие паруса</param>
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool floats, bool sail)
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool floaters, bool sail)
{
Speed = speed;
Weight = weight;
BodyColor = bodyColor;
AdditionalColor = additionalColor;
Floats = floats;
Floaters = floaters;
Sail = sail;
}