лаб - 3
This commit is contained in:
parent
e1db93a2e7
commit
ef7807d6fd
@ -10,42 +10,38 @@ namespace AircraftCarrier
|
|||||||
{
|
{
|
||||||
public DrawningModernAircraftCarrier(int speed, float weight, Color bodyColor, Color
|
public DrawningModernAircraftCarrier(int speed, float weight, Color bodyColor, Color
|
||||||
dopColor, bool flightDeck, bool hangarDeck, bool route) :
|
dopColor, bool flightDeck, bool hangarDeck, bool route) :
|
||||||
base(speed, weight, bodyColor, 270, 150)
|
base(speed, weight, bodyColor, 230, 80)
|
||||||
{
|
{
|
||||||
AircraftCarrier = new EntityModernAircraftCarrier(speed, weight, bodyColor, dopColor, flightDeck, hangarDeck, route);
|
AircraftCarrier = new EntityModernAircraftCarrier(speed, weight, bodyColor, dopColor, flightDeck, hangarDeck, route);
|
||||||
}
|
}
|
||||||
public override void DrawTransport(Graphics g)
|
public override void DrawTransport(Graphics g)
|
||||||
{
|
{
|
||||||
if (AircraftCarrier is not EntityModernAircraftCarrier ModernAircraftCarrier)
|
if (AircraftCarrier is not EntityModernAircraftCarrier modernAircraftCarrier)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Pen pen = new(Color.Black);
|
Pen pen = new(Color.Black);
|
||||||
Brush dopBrush = new SolidBrush(ModernAircraftCarrier.DopColor);
|
Brush dopBrush = new SolidBrush(modernAircraftCarrier.DopColor);
|
||||||
|
|
||||||
if (ModernAircraftCarrier.FlightDeck)
|
if (modernAircraftCarrier.FlightDeck)
|
||||||
{
|
{
|
||||||
g.DrawRectangle(pen, _startPosX+10, _startPosY+5, 160, 10);
|
g.DrawRectangle(pen, _startPosX + 10, _startPosY, 160, 10);
|
||||||
g.DrawRectangle(pen, _startPosX+10, _startPosY + 75, 160, 10);
|
g.DrawRectangle(pen, _startPosX + 10, _startPosY + 70, 160, 10);
|
||||||
g.FillRectangle(dopBrush, _startPosX+10, _startPosY + 5, 160, 10);
|
g.FillRectangle(dopBrush, _startPosX + 10, _startPosY, 160, 10);
|
||||||
g.FillRectangle(dopBrush, _startPosX+10, _startPosY + 75, 160, 10);
|
g.FillRectangle(dopBrush, _startPosX + 10, _startPosY + 70, 160, 10);
|
||||||
}
|
}
|
||||||
_startPosX += 10;
|
|
||||||
_startPosY += 5;
|
|
||||||
base.DrawTransport(g);
|
base.DrawTransport(g);
|
||||||
_startPosX -= 10;
|
if (modernAircraftCarrier.HangarDeck)
|
||||||
_startPosY -= 5;
|
|
||||||
if (ModernAircraftCarrier.HangarDeck)
|
|
||||||
{
|
{
|
||||||
g.DrawRectangle(pen, _startPosX + 20, _startPosY + 29, 20, 30);
|
g.DrawRectangle(pen, _startPosX + 20, _startPosY + 24, 20, 30);
|
||||||
g.FillRectangle(dopBrush, _startPosX + 20, _startPosY + 29, 20, 30);
|
g.FillRectangle(dopBrush, _startPosX + 20, _startPosY + 24, 20, 30);
|
||||||
}
|
}
|
||||||
if (ModernAircraftCarrier.Route)
|
if (modernAircraftCarrier.Route)
|
||||||
{
|
{
|
||||||
g.DrawRectangle(pen, _startPosX, _startPosY + 19, 10, 5);
|
g.DrawRectangle(pen, _startPosX, _startPosY + 14, 10, 5);
|
||||||
g.DrawRectangle(pen, _startPosX, _startPosY + 74, 10, 5);
|
g.DrawRectangle(pen, _startPosX, _startPosY + 69, 10, 5);
|
||||||
g.FillRectangle(dopBrush, _startPosX, _startPosY + 19, 10, 5);
|
g.FillRectangle(dopBrush, _startPosX, _startPosY + 14, 10, 5);
|
||||||
g.FillRectangle(dopBrush, _startPosX , _startPosY + 74, 10, 5);
|
g.FillRectangle(dopBrush, _startPosX, _startPosY + 69, 10, 5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,12 +6,16 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace AircraftCarrier
|
namespace AircraftCarrier
|
||||||
{
|
{
|
||||||
internal class EntityAircraftCarrier
|
public class EntityAircraftCarrier
|
||||||
{
|
{
|
||||||
public int Speed { get; private set; }
|
public int Speed { get; private set; }
|
||||||
|
|
||||||
public float Weight { get; private set; }
|
public float Weight { get; private set; }
|
||||||
|
|
||||||
public Color BodyColor { get; private set; }
|
public Color BodyColor { get; private set; }
|
||||||
|
|
||||||
public float Step => Speed * 100 / Weight;
|
public float Step => Speed * 100 / Weight;
|
||||||
|
|
||||||
public EntityAircraftCarrier(int speed, float weight, Color bodyColor)
|
public EntityAircraftCarrier(int speed, float weight, Color bodyColor)
|
||||||
{
|
{
|
||||||
Random rnd = new Random();
|
Random rnd = new Random();
|
||||||
@ -19,5 +23,6 @@ namespace AircraftCarrier
|
|||||||
Weight = weight <= 0 ? rnd.Next(40, 70) : weight;
|
Weight = weight <= 0 ? rnd.Next(40, 70) : weight;
|
||||||
BodyColor = bodyColor;
|
BodyColor = bodyColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -13,6 +13,7 @@ namespace AircraftCarrier
|
|||||||
public partial class FormAircraftCarrier : Form
|
public partial class FormAircraftCarrier : Form
|
||||||
{
|
{
|
||||||
private DrawningAircraftCarrier _aircraftcarrier;
|
private DrawningAircraftCarrier _aircraftcarrier;
|
||||||
|
public DrawningAircraftCarrier SelectedAircraftCarrier { get; private set; }
|
||||||
public FormAircraftCarrier()
|
public FormAircraftCarrier()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@ -24,6 +25,7 @@ namespace AircraftCarrier
|
|||||||
_aircraftcarrier?.DrawTransport(gr);
|
_aircraftcarrier?.DrawTransport(gr);
|
||||||
pictureBoxAircraftCarrier.Image = bmp;
|
pictureBoxAircraftCarrier.Image = bmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetData()
|
private void SetData()
|
||||||
{
|
{
|
||||||
Random rnd = new();
|
Random rnd = new();
|
||||||
@ -35,8 +37,14 @@ namespace AircraftCarrier
|
|||||||
}
|
}
|
||||||
private void ButtonCreate_Click(object sender, EventArgs e)
|
private void ButtonCreate_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Random rnd = new();
|
Random rnd = new Random();
|
||||||
_aircraftcarrier = new DrawningAircraftCarrier(rnd.Next(100, 300), rnd.Next(1000, 2000), Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256)));
|
Color color = 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;
|
||||||
|
}
|
||||||
|
_aircraftcarrier = new DrawningAircraftCarrier(rnd.Next(100, 300), rnd.Next(4000, 5000), color);
|
||||||
SetData();
|
SetData();
|
||||||
Draw();
|
Draw();
|
||||||
}
|
}
|
||||||
@ -60,19 +68,36 @@ namespace AircraftCarrier
|
|||||||
}
|
}
|
||||||
Draw();
|
Draw();
|
||||||
}
|
}
|
||||||
private void ButtonCreateModif_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
Random rnd = new();
|
|
||||||
_aircraftcarrier = new DrawningAircraftCarrier(rnd.Next(100, 300), rnd.Next(1000, 2000), Color.FromArgb(rnd.Next(0, 256), Color.FromArgb(rnd.Next(0, 256),rnd.Next(0, 256), rnd.Next(0, 256))));
|
|
||||||
SetData();
|
|
||||||
Draw();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void PictureBoxAircraftCarrier_Resize(object sender, EventArgs e)
|
private void PictureBoxAircraftCarrier_Resize(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
/// Изменение размеров формы
|
||||||
_aircraftcarrier?.ChangeBorders(pictureBoxAircraftCarrier.Width, pictureBoxAircraftCarrier.Height);
|
_aircraftcarrier?.ChangeBorders(pictureBoxAircraftCarrier.Width, pictureBoxAircraftCarrier.Height);
|
||||||
Draw();
|
Draw();
|
||||||
}
|
}
|
||||||
|
private void ButtonCreateModif_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Random rnd = new Random();
|
||||||
|
Color color = 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 dopColor = Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256));
|
||||||
|
ColorDialog dialogDop = new();
|
||||||
|
if (dialogDop.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
|
dopColor = dialogDop.Color;
|
||||||
|
}
|
||||||
|
_aircraftcarrier = new DrawningModernAircraftCarrier(rnd.Next(100, 300), rnd.Next(1000, 2000), color, dopColor,
|
||||||
|
Convert.ToBoolean(rnd.Next(0, 2)), Convert.ToBoolean(rnd.Next(0, 2)), Convert.ToBoolean(rnd.Next(0, 2)));
|
||||||
|
SetData();
|
||||||
|
Draw();
|
||||||
|
}
|
||||||
|
private void ButtonSelectAircraftCarrier_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SelectedAircraftCarrier = _aircraftcarrier;
|
||||||
|
DialogResult = DialogResult.OK;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user