lab3 + edgeColor

This commit is contained in:
Valitov.Damir 2023-04-15 09:23:33 +04:00
parent ee5d4a6878
commit 153af06a04
4 changed files with 27 additions and 9 deletions

View File

@ -29,8 +29,13 @@ namespace Sailboat
private void btn_create_Click(object sender, EventArgs e) private void btn_create_Click(object sender, EventArgs e)
{ {
Random rnd = new(); Random rnd = new();
_boat = new DrawingBoat(rnd.Next(100, 300), rnd.Next(1000, 2000), Color color = Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256));
Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256))); ColorDialog dialog = new();
if (dialog.ShowDialog() == DialogResult.OK)
{
color = dialog.Color;
}
_boat = new DrawingBoat(rnd.Next(100, 300), rnd.Next(1000, 2000), color);
_boat.SetPosition(rnd.Next(10, 100), rnd.Next(10, 100), _boat.SetPosition(rnd.Next(10, 100), rnd.Next(10, 100),
pictureBoxBoat.Width, pictureBoxBoat.Height); pictureBoxBoat.Width, pictureBoxBoat.Height);
SetData(); SetData();
@ -44,8 +49,19 @@ namespace Sailboat
private void btn_create_sailboat_Click(object sender, EventArgs e) private void btn_create_sailboat_Click(object sender, EventArgs e)
{ {
Random rnd = new(); Random rnd = new();
_boat = new DrawingSailboat(rnd.Next(100, 300), rnd.Next(1000, 2000), Color color = Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256));
Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256)), ColorDialog dialog = new();
if (dialog.ShowDialog() == DialogResult.OK)
{
color = dialog.Color;
}
Color edgeColor = Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256));
ColorDialog dialogDop = new();
if (dialogDop.ShowDialog() == DialogResult.OK)
{
edgeColor = dialogDop.Color;
}
_boat = new DrawingSailboat(rnd.Next(100, 300), rnd.Next(1000, 2000), color, edgeColor,
Convert.ToBoolean(rnd.Next(0, 2)), Convert.ToBoolean(rnd.Next(0, 2))); Convert.ToBoolean(rnd.Next(0, 2)), Convert.ToBoolean(rnd.Next(0, 2)));
_boat.SetPosition(rnd.Next(10, 100), rnd.Next(10, 100), _boat.SetPosition(rnd.Next(10, 100), rnd.Next(10, 100),
pictureBoxBoat.Width, pictureBoxBoat.Height); pictureBoxBoat.Width, pictureBoxBoat.Height);

View File

@ -20,10 +20,10 @@ namespace Sailboat
/// <param name="bodyColor">Цвет кузова</param> /// <param name="bodyColor">Цвет кузова</param>
/// <param name="sail">Признак наличия паруса</param> /// <param name="sail">Признак наличия паруса</param>
/// <param name="extendedBody">Признак наличия усиленного корпуса</param> /// <param name="extendedBody">Признак наличия усиленного корпуса</param>
public DrawingSailboat(int speed, float weight, Color bodyColor, bool sail, bool extendedBody) : public DrawingSailboat(int speed, float weight, Color bodyColor, Color edgeColor , bool sail, bool extendedBody) :
base(speed, weight, bodyColor, 80, 135) base(speed, weight, bodyColor, 80, 135)
{ {
Boat = new Sailboat(speed, weight, bodyColor, sail, extendedBody); Boat = new Sailboat(speed, weight, bodyColor, edgeColor, sail, extendedBody);
} }
public override void DrawTransport(Graphics g) public override void DrawTransport(Graphics g)
{ {
@ -33,7 +33,7 @@ namespace Sailboat
} }
Pen pen = new(Color.Black); Pen pen = new(Color.Black);
Brush brush = new SolidBrush(Color.Black); Brush brush = new SolidBrush(sailboat.EdgeColor);
_startPosY += 40; _startPosY += 40;
_startPosX += 20; _startPosX += 20;

View File

@ -118,7 +118,6 @@ namespace Sailboat
for (int i = 0; i < _setBoats.Count; i++) for (int i = 0; i < _setBoats.Count; i++)
{ {
_setBoats.Get(i)?.SetObject(currentWidth * _placeSizeWidth, _setBoats.Get(i)?.SetObject(currentWidth * _placeSizeWidth,
currentHeight * _placeSizeHeight, currentHeight * _placeSizeHeight,
_pictureWidth, _pictureHeight); _pictureWidth, _pictureHeight);

View File

@ -17,6 +17,8 @@ namespace Sailboat
/// Признак наличия паруса /// Признак наличия паруса
/// </summary> /// </summary>
public bool Sail { get; private set; } public bool Sail { get; private set; }
public Color EdgeColor{ get; private set; }
/// <summary> /// <summary>
/// Инициализация свойств /// Инициализация свойств
/// </summary> /// </summary>
@ -25,9 +27,10 @@ namespace Sailboat
/// <param name="bodyColor">Цвет кузова</param> /// <param name="bodyColor">Цвет кузова</param>
/// <param name="sail">Признак наличия паруса</param> /// <param name="sail">Признак наличия паруса</param>
/// <param name="extendedBody">Признак наличия усиленного корпуса</param> /// <param name="extendedBody">Признак наличия усиленного корпуса</param>
public Sailboat(int speed, float weight, Color bodyColor, bool sail, bool extendedBody) : public Sailboat(int speed, float weight, Color bodyColor, Color edgeColor, bool sail, bool extendedBody) :
base(speed, weight, bodyColor) base(speed, weight, bodyColor)
{ {
EdgeColor = edgeColor;
Sail = sail; Sail = sail;
ExtendedBody = extendedBody; ExtendedBody = extendedBody;
} }