From 01cffb5f90fa8bcaf2f683510537679fc8551e4f Mon Sep 17 00:00:00 2001 From: Hells Hound Date: Tue, 20 Sep 2022 18:26:55 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=20DrawingAircraftCarrie?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AircraftCarrier/DrawingAircraftCarrier.cs | 9 ++++++ .../AircraftCarrier/DrawingWarship.cs | 24 +++++++------- .../AircraftCarrier/FormWarship.Designer.cs | 13 ++++++++ .../AircraftCarrier/FormWarship.cs | 32 ++++++++++++++++--- 4 files changed, 62 insertions(+), 16 deletions(-) diff --git a/AircraftCarrier/AircraftCarrier/DrawingAircraftCarrier.cs b/AircraftCarrier/AircraftCarrier/DrawingAircraftCarrier.cs index f85e406..bf56d6c 100644 --- a/AircraftCarrier/AircraftCarrier/DrawingAircraftCarrier.cs +++ b/AircraftCarrier/AircraftCarrier/DrawingAircraftCarrier.cs @@ -26,6 +26,15 @@ namespace AircraftCarrier public override void DrawTransport(Graphics g) { + if(Warship is not EntityAircraftCarrier aircraftCarrier) + { + return; + } + + Pen pen = new(Color.Black); + Brush dopBrush = new SolidBrush(aircraftCarrier.DopColor); + + base.DrawTransport(g); } } diff --git a/AircraftCarrier/AircraftCarrier/DrawingWarship.cs b/AircraftCarrier/AircraftCarrier/DrawingWarship.cs index 0f377aa..ade4a9f 100644 --- a/AircraftCarrier/AircraftCarrier/DrawingWarship.cs +++ b/AircraftCarrier/AircraftCarrier/DrawingWarship.cs @@ -34,7 +34,7 @@ namespace AircraftCarrier /// /// Ширина отрисовки военного корабля /// - private readonly int _warshipWidth = 94; + private readonly int _warshipWidth = 114; /// /// Высота отрисовки военного корабля /// @@ -152,11 +152,11 @@ namespace AircraftCarrier Pen pen = new(Color.Black); //границы военного корабля - PointF point1 = new PointF(_startPosX, _startPosY); - PointF point2 = new PointF(_startPosX + 74, _startPosY); - PointF point3 = new PointF(_startPosX + 94, _startPosY + 20); - PointF point4 = new PointF(_startPosX + 74, _startPosY + 40); - PointF point5 = new PointF(_startPosX, _startPosY + 40); + PointF point1 = new PointF(_startPosX + 4, _startPosY); + PointF point2 = new PointF(_startPosX + 94, _startPosY); + PointF point3 = new PointF(_startPosX + 114, _startPosY + 20); + PointF point4 = new PointF(_startPosX + 94, _startPosY + 40); + PointF point5 = new PointF(_startPosX + 4, _startPosY + 40); PointF[] curvePoints = { @@ -170,18 +170,18 @@ namespace AircraftCarrier //мачта Brush brWhite = new SolidBrush(Color.White); - g.FillEllipse(brWhite, _startPosX + 59, _startPosY + 13, 15, 15); + g.FillEllipse(brWhite, _startPosX + 79, _startPosY + 13, 15, 15); //границы мачты - g.DrawEllipse(pen, _startPosX + 59, _startPosY + 13, 15, 15); + g.DrawEllipse(pen, _startPosX + 79, _startPosY + 13, 15, 15); //палуба - g.FillRectangle(brWhite, _startPosX + 44, _startPosY + 10, 10, 20); - g.FillRectangle(brWhite, _startPosX + 24, _startPosY + 15, 20, 10); + g.FillRectangle(brWhite, _startPosX + 64, _startPosY + 10, 10, 20); + g.FillRectangle(brWhite, _startPosX + 44, _startPosY + 15, 20, 10); //границы палуба - g.DrawRectangle(pen, _startPosX + 44, _startPosY + 10, 10, 20); - g.DrawRectangle(pen, _startPosX + 24, _startPosY + 15, 20, 10); + g.DrawRectangle(pen, _startPosX + 64, _startPosY + 10, 10, 20); + g.DrawRectangle(pen, _startPosX + 44, _startPosY + 15, 20, 10); //двигатели Brush brBlack = new SolidBrush(Color.Black); diff --git a/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs b/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs index 293e458..854abe8 100644 --- a/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs +++ b/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs @@ -38,6 +38,7 @@ this.buttonUp = new System.Windows.Forms.Button(); this.buttonLeft = new System.Windows.Forms.Button(); this.buttonRight = new System.Windows.Forms.Button(); + this.buttonCreateModif = new System.Windows.Forms.Button(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxWarship)).BeginInit(); this.statusStrip.SuspendLayout(); this.SuspendLayout(); @@ -145,11 +146,22 @@ this.buttonRight.UseVisualStyleBackColor = true; this.buttonRight.Click += new System.EventHandler(this.ButtonMove_Click); // + // buttonCreateModif + // + this.buttonCreateModif.Location = new System.Drawing.Point(93, 393); + this.buttonCreateModif.Name = "buttonCreateModif"; + this.buttonCreateModif.Size = new System.Drawing.Size(92, 23); + this.buttonCreateModif.TabIndex = 7; + this.buttonCreateModif.Text = "Modification"; + this.buttonCreateModif.UseVisualStyleBackColor = true; + this.buttonCreateModif.Click += new System.EventHandler(this.ButtonCreateModif_Click); + // // FormWarship // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(768, 448); + this.Controls.Add(this.buttonCreateModif); this.Controls.Add(this.buttonRight); this.Controls.Add(this.buttonLeft); this.Controls.Add(this.buttonUp); @@ -179,5 +191,6 @@ private Button buttonUp; private Button buttonLeft; private Button buttonRight; + private Button buttonCreateModif; } } \ No newline at end of file diff --git a/AircraftCarrier/AircraftCarrier/FormWarship.cs b/AircraftCarrier/AircraftCarrier/FormWarship.cs index 00708c3..dede81b 100644 --- a/AircraftCarrier/AircraftCarrier/FormWarship.cs +++ b/AircraftCarrier/AircraftCarrier/FormWarship.cs @@ -18,6 +18,17 @@ namespace AircraftCarrier pictureBoxWarship.Image = bmp; } /// + /// + /// + private void SetData() + { + Random rnd = new(); + _warship.SetPosition(rnd.Next(10, 100), rnd.Next(10, 100), pictureBoxWarship.Width, pictureBoxWarship.Height); + toolStripStatusLabelSpeed.Text = $": {_warship.Warship.Speed}"; + toolStripStatusLabelWeight.Text = $": {_warship.Warship.Weight}"; + toolStripStatusLabelBodyColor.Text = $": {_warship.Warship.BodyColor.Name}"; + } + /// /// "Create" /// /// @@ -26,10 +37,7 @@ namespace AircraftCarrier { Random rnd = new(); _warship = new DrawingWarship(rnd.Next(100, 300), rnd.Next(1000, 2000), Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256))); - _warship.SetPosition(rnd.Next(10, 100), rnd.Next(10, 100), pictureBoxWarship.Width, pictureBoxWarship.Height); - toolStripStatusLabelSpeed.Text = $": {_warship.Warship.Speed}"; - toolStripStatusLabelWeight.Text = $": {_warship.Warship.Weight}"; - toolStripStatusLabelBodyColor.Text = $": {_warship.Warship.BodyColor.Name}"; + SetData(); Draw(); } @@ -63,5 +71,21 @@ namespace AircraftCarrier _warship?.ChangeBorders(pictureBoxWarship.Width,pictureBoxWarship.Height); Draw(); } + /// + /// "Modification" + /// + /// + /// + private void ButtonCreateModif_Click(object sender, EventArgs e) + { + Random rnd = new(); + _warship = new DrawingAircraftCarrier(rnd.Next(100, 300), rnd.Next(1000, 2000), + 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)), + Convert.ToBoolean(rnd.Next(0, 2)), Convert.ToBoolean(rnd.Next(0, 2)), Convert.ToBoolean(rnd.Next(0, 2))); + SetData(); + Draw(); + + } } } \ No newline at end of file