From d291a03651a6de79a55afa6837ac5c2ebf92cfb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B3=D0=BE=D1=80=20=D0=A0=D0=BE=D0=BC=D0=B0=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=9F=D0=98=D0=B1=D0=B4-22?= Date: Sun, 11 Sep 2022 22:58:22 +0400 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Bulldozer.sln | 14 +- Bulldozer/Bulldozer/Bulldozer.csproj | 26 +++ Bulldozer/Bulldozer/Direction.cs | 16 ++ Bulldozer/Bulldozer/DrawingBulldozer.cs | 149 ++++++++++++++++++ Bulldozer/Bulldozer/EntityBulldozer.cs | 28 ++++ Bulldozer/Bulldozer/FormBulldozer.Designer.cs | 149 ++++++++++++++++++ Bulldozer/Bulldozer/FormBulldozer.cs | 78 +++++++++ Bulldozer/Bulldozer/FormBulldozer.resx | 66 ++++++++ .../Bulldozer}/Program.cs | 7 +- .../Properties/Resources.Designer.cs | 103 ++++++++++++ .../Bulldozer/Properties/Resources.resx | 13 ++ Bulldozer/Bulldozer/Resources/down.png | Bin 0 -> 28649 bytes Bulldozer/Bulldozer/Resources/left.png | Bin 0 -> 28649 bytes Bulldozer/Bulldozer/Resources/right.png | Bin 0 -> 28649 bytes Bulldozer/Bulldozer/Resources/up.png | Bin 0 -> 28649 bytes HoistingCrane/HoistingCrane/Form1.Designer.cs | 39 ----- HoistingCrane/HoistingCrane/Form1.cs | 10 -- .../HoistingCrane/HoistingCrane.csproj | 11 -- 18 files changed, 637 insertions(+), 72 deletions(-) rename HoistingCrane/HoistingCrane.sln => Bulldozer/Bulldozer.sln (55%) create mode 100644 Bulldozer/Bulldozer/Bulldozer.csproj create mode 100644 Bulldozer/Bulldozer/Direction.cs create mode 100644 Bulldozer/Bulldozer/DrawingBulldozer.cs create mode 100644 Bulldozer/Bulldozer/EntityBulldozer.cs create mode 100644 Bulldozer/Bulldozer/FormBulldozer.Designer.cs create mode 100644 Bulldozer/Bulldozer/FormBulldozer.cs create mode 100644 Bulldozer/Bulldozer/FormBulldozer.resx rename {HoistingCrane/HoistingCrane => Bulldozer/Bulldozer}/Program.cs (66%) create mode 100644 Bulldozer/Bulldozer/Properties/Resources.Designer.cs rename HoistingCrane/HoistingCrane/Form1.resx => Bulldozer/Bulldozer/Properties/Resources.resx (84%) create mode 100644 Bulldozer/Bulldozer/Resources/down.png create mode 100644 Bulldozer/Bulldozer/Resources/left.png create mode 100644 Bulldozer/Bulldozer/Resources/right.png create mode 100644 Bulldozer/Bulldozer/Resources/up.png delete mode 100644 HoistingCrane/HoistingCrane/Form1.Designer.cs delete mode 100644 HoistingCrane/HoistingCrane/Form1.cs delete mode 100644 HoistingCrane/HoistingCrane/HoistingCrane.csproj diff --git a/HoistingCrane/HoistingCrane.sln b/Bulldozer/Bulldozer.sln similarity index 55% rename from HoistingCrane/HoistingCrane.sln rename to Bulldozer/Bulldozer.sln index 5aa09bf..afcf79d 100644 --- a/HoistingCrane/HoistingCrane.sln +++ b/Bulldozer/Bulldozer.sln @@ -1,9 +1,9 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 -VisualStudioVersion = 17.0.32112.339 +VisualStudioVersion = 17.3.32825.248 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HoistingCrane", "HoistingCrane\HoistingCrane.csproj", "{D80E7B00-5088-4976-A795-E42A2FE183D6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bulldozer", "Bulldozer\Bulldozer.csproj", "{E5F857A0-7B7F-4F53-8C92-330D2F451FBA}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -11,15 +11,15 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D80E7B00-5088-4976-A795-E42A2FE183D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D80E7B00-5088-4976-A795-E42A2FE183D6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D80E7B00-5088-4976-A795-E42A2FE183D6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D80E7B00-5088-4976-A795-E42A2FE183D6}.Release|Any CPU.Build.0 = Release|Any CPU + {E5F857A0-7B7F-4F53-8C92-330D2F451FBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E5F857A0-7B7F-4F53-8C92-330D2F451FBA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E5F857A0-7B7F-4F53-8C92-330D2F451FBA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E5F857A0-7B7F-4F53-8C92-330D2F451FBA}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {F67B9958-A88C-4E5E-9405-BA7150E626AF} + SolutionGuid = {A2E69D0E-100A-4D29-BF23-5EB2E6ED3E33} EndGlobalSection EndGlobal diff --git a/Bulldozer/Bulldozer/Bulldozer.csproj b/Bulldozer/Bulldozer/Bulldozer.csproj new file mode 100644 index 0000000..13ee123 --- /dev/null +++ b/Bulldozer/Bulldozer/Bulldozer.csproj @@ -0,0 +1,26 @@ + + + + WinExe + net6.0-windows + enable + true + enable + + + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + \ No newline at end of file diff --git a/Bulldozer/Bulldozer/Direction.cs b/Bulldozer/Bulldozer/Direction.cs new file mode 100644 index 0000000..1c0ea86 --- /dev/null +++ b/Bulldozer/Bulldozer/Direction.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Bulldozer +{ + internal enum Direction + { + Up = 1, + Down = 2, + Left = 3, + Right = 4 + } +} diff --git a/Bulldozer/Bulldozer/DrawingBulldozer.cs b/Bulldozer/Bulldozer/DrawingBulldozer.cs new file mode 100644 index 0000000..e1957d6 --- /dev/null +++ b/Bulldozer/Bulldozer/DrawingBulldozer.cs @@ -0,0 +1,149 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Bulldozer +{ + internal class DrawingBulldozer + { + + public EntityBulldozer Bulldozer { get; private set; } + + private float _startPosX; + private float _startPosY; + private int? _pictureWidth = null; + private int? _pictureHeight = null; + private readonly int _bulldozerWidth = 80; + private readonly int _bulldozerHeight = 50; + + public void Init(int speed, float weight, Color bodyColor) + { + Bulldozer = new EntityBulldozer(); + Bulldozer.Init(speed, weight, bodyColor); + } + + public void SetPosition(int x, int y, int width, int height) + { + // TODO checks + _startPosX = x; + _startPosY = y; + _pictureWidth = width; + _pictureHeight = height; + } + + public void MoveTransport(Direction direction) + { + if (!_pictureWidth.HasValue || !_pictureHeight.HasValue) + { + return; + } + switch (direction) + { + // вправо + case Direction.Right: + if (_startPosX + _bulldozerWidth + Bulldozer.Step < _pictureWidth) + { + _startPosX += Bulldozer.Step; + } + break; + //влево + case Direction.Left: + if (_startPosX - Bulldozer.Step > 0) + { + _startPosX -= Bulldozer.Step; + } + break; + //вверх + case Direction.Up: + if (_startPosY - Bulldozer.Step > 0) + { + _startPosY -= Bulldozer.Step; + } + break; + //вниз + case Direction.Down: + if (_startPosY + _bulldozerHeight + Bulldozer.Step < _pictureHeight) + { + _startPosY += Bulldozer.Step; + } + break; + } + } + public void DrawTransport(Graphics g) + { + if (_startPosX < 0 || _startPosY < 0 + || !_pictureHeight.HasValue || !_pictureWidth.HasValue) + { + return; + } + Pen pen = new Pen(Color.Black); + //границы + g.DrawRectangle(pen, _startPosX, _startPosY + 25, 75, 20); + g.DrawRectangle(pen, _startPosX, _startPosY, 25, 25); + g.DrawRectangle(pen, _startPosX + 4, _startPosY + 4, 17, 17); + g.DrawRectangle(pen, _startPosX + 52, _startPosY + 7, 6, 18); + g.DrawEllipse(pen, _startPosX - 5, _startPosY + 45, 20, 20); + g.DrawEllipse(pen, _startPosX + 63, _startPosY + 45, 20, 20); + g.DrawRectangle(pen, _startPosX + 5, _startPosY + 45, 68, 20); + g.DrawEllipse(pen, _startPosX - 1, _startPosY + 46, 18, 18); + g.DrawEllipse(pen, _startPosX + 62, _startPosY + 46, 18, 18); + g.DrawEllipse(pen, _startPosX + 20, _startPosY + 53, 10, 10); + g.DrawEllipse(pen, _startPosX + 35, _startPosY + 53, 10, 10); + g.DrawEllipse(pen, _startPosX + 50, _startPosY + 53, 10, 10); + g.DrawRectangle(pen, _startPosX + 30, _startPosY + 45, 4, 6); + g.DrawRectangle(pen, _startPosX + 45, _startPosY + 45, 4, 6); + + //корпус + Brush br = new SolidBrush(Bulldozer?.BodyColor ?? Color.Black); + g.FillRectangle(br, _startPosX, _startPosY + 25, 75, 25); + g.FillRectangle(br, _startPosX, _startPosY, 25, 25); + + //окно + Brush brBlue = new SolidBrush(Color.Blue); + g.FillRectangle(brBlue, _startPosX + 4, _startPosY + 4, 17, 17); + + //выхлопная труба + Brush brBrown = new SolidBrush(Color.DarkGray); + g.FillRectangle(brBrown, _startPosX + 52, _startPosY + 7, 6, 18); + + //гусеница + Brush brDarkGray = new SolidBrush(Color.DarkGray); + g.FillEllipse(brDarkGray, _startPosX - 5, _startPosY + 45, 20, 20); + g.FillEllipse(brDarkGray, _startPosX + 63, _startPosY + 45, 20, 20); + g.FillRectangle(brDarkGray, _startPosX + 5, _startPosY + 45, 68, 20); + + Brush brBlack = new SolidBrush(Color.Black); + g.FillEllipse(brBlack, _startPosX - 1, _startPosY + 46, 18, 18); + g.FillEllipse(brBlack, _startPosX + 62, _startPosY + 46, 18, 18); + g.FillEllipse(brBlack, _startPosX + 20, _startPosY + 53, 10, 10); + g.FillEllipse(brBlack, _startPosX + 35, _startPosY + 53, 10, 10); + g.FillEllipse(brBlack, _startPosX + 50, _startPosY + 53, 10, 10); + g.FillRectangle(brBlack, _startPosX + 30, _startPosY + 45, 4, 6); + g.FillRectangle(brBlack, _startPosX + 45, _startPosY + 45, 4, 6); + + + } + + public void ChangeBorders(int width, int height) + { + _pictureWidth = width; + _pictureHeight = height; + if (_pictureWidth <= _bulldozerWidth || _pictureHeight <= _bulldozerHeight) + { + _pictureWidth = null; + _pictureHeight = null; + return; + } + if (_startPosX + _bulldozerWidth > _pictureWidth) + { + _startPosX = _pictureWidth.Value - _bulldozerWidth; + } + if (_startPosY + _bulldozerHeight > _pictureHeight) + { + _startPosY = _pictureHeight.Value - _bulldozerHeight; + } + } + } +} diff --git a/Bulldozer/Bulldozer/EntityBulldozer.cs b/Bulldozer/Bulldozer/EntityBulldozer.cs new file mode 100644 index 0000000..a4d3269 --- /dev/null +++ b/Bulldozer/Bulldozer/EntityBulldozer.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Bulldozer +{ + + internal class EntityBulldozer + { + public int Speed { get; private set; } + + public float Weight { get; private set; } + + public Color BodyColor { get; private set; } + + public float Step => Speed * 100 / Weight; + + public void Init(int speed, float weight, Color bodyColor) + { + Random rnd = new(); + Speed = speed <= 0 ? rnd.Next(50, 150) : speed; + Weight = weight <= 0 ? rnd.Next(40, 70) : weight; + BodyColor = bodyColor; + } + } +} diff --git a/Bulldozer/Bulldozer/FormBulldozer.Designer.cs b/Bulldozer/Bulldozer/FormBulldozer.Designer.cs new file mode 100644 index 0000000..7911525 --- /dev/null +++ b/Bulldozer/Bulldozer/FormBulldozer.Designer.cs @@ -0,0 +1,149 @@ +namespace Bulldozer +{ + partial class FormBulldozer + { + + private System.ComponentModel.IContainer components = null; + + + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + + private void InitializeComponent() + { + this.buttonUp = new System.Windows.Forms.Button(); + this.buttonLeft = new System.Windows.Forms.Button(); + this.buttonRight = new System.Windows.Forms.Button(); + this.buttonDown = new System.Windows.Forms.Button(); + this.buttonCreate = new System.Windows.Forms.Button(); + this.statusStrip1 = new System.Windows.Forms.StatusStrip(); + this.toolStripStatusLabelSpeed = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabelWeight = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabelBodyColor = new System.Windows.Forms.ToolStripStatusLabel(); + this.pictureBoxBulldozer = new System.Windows.Forms.PictureBox(); + this.statusStrip1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBulldozer)).BeginInit(); + this.SuspendLayout(); + + this.buttonUp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUp.BackgroundImage = global::Bulldozer.Properties.Resources.up; + this.buttonUp.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.buttonUp.Location = new System.Drawing.Point(722, 353); + this.buttonUp.Name = "buttonUp"; + this.buttonUp.Size = new System.Drawing.Size(30, 30); + this.buttonUp.TabIndex = 0; + this.buttonUp.UseVisualStyleBackColor = true; + this.buttonUp.Click += new System.EventHandler(this.ButtonMove_Click); + + this.buttonLeft.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonLeft.BackgroundImage = global::Bulldozer.Properties.Resources.left; + this.buttonLeft.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.buttonLeft.Location = new System.Drawing.Point(686, 389); + this.buttonLeft.Name = "buttonLeft"; + this.buttonLeft.Size = new System.Drawing.Size(30, 30); + this.buttonLeft.TabIndex = 1; + this.buttonLeft.UseVisualStyleBackColor = true; + this.buttonLeft.Click += new System.EventHandler(this.ButtonMove_Click); + + this.buttonRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonRight.BackgroundImage = global::Bulldozer.Properties.Resources.right; + this.buttonRight.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.buttonRight.Location = new System.Drawing.Point(758, 389); + this.buttonRight.Name = "buttonRight"; + this.buttonRight.Size = new System.Drawing.Size(30, 30); + this.buttonRight.TabIndex = 2; + this.buttonRight.UseVisualStyleBackColor = true; + this.buttonRight.Click += new System.EventHandler(this.ButtonMove_Click); + + this.buttonDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDown.BackgroundImage = global::Bulldozer.Properties.Resources.down; + this.buttonDown.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.buttonDown.Location = new System.Drawing.Point(722, 389); + this.buttonDown.Name = "buttonDown"; + this.buttonDown.Size = new System.Drawing.Size(30, 30); + this.buttonDown.TabIndex = 3; + this.buttonDown.UseVisualStyleBackColor = true; + this.buttonDown.Click += new System.EventHandler(this.ButtonMove_Click); + + this.buttonCreate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonCreate.Location = new System.Drawing.Point(12, 393); + this.buttonCreate.Name = "buttonCreate"; + this.buttonCreate.Size = new System.Drawing.Size(75, 23); + this.buttonCreate.TabIndex = 4; + this.buttonCreate.Text = "Создать"; + this.buttonCreate.UseVisualStyleBackColor = true; + this.buttonCreate.Click += new System.EventHandler(this.ButtonCreate_Click); + + this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripStatusLabelSpeed, + this.toolStripStatusLabelWeight, + this.toolStripStatusLabelBodyColor}); + this.statusStrip1.Location = new System.Drawing.Point(0, 428); + this.statusStrip1.Name = "statusStrip1"; + this.statusStrip1.Size = new System.Drawing.Size(800, 22); + this.statusStrip1.TabIndex = 5; + this.statusStrip1.Text = "statusStrip1"; + + this.toolStripStatusLabelSpeed.Name = "toolStripStatusLabelSpeed"; + this.toolStripStatusLabelSpeed.Size = new System.Drawing.Size(62, 17); + this.toolStripStatusLabelSpeed.Text = "Скорость:"; + + this.toolStripStatusLabelWeight.Name = "toolStripStatusLabelWeight"; + this.toolStripStatusLabelWeight.Size = new System.Drawing.Size(29, 17); + this.toolStripStatusLabelWeight.Text = "Вес:"; + + this.toolStripStatusLabelBodyColor.Name = "toolStripStatusLabelBodyColor"; + this.toolStripStatusLabelBodyColor.Size = new System.Drawing.Size(36, 17); + this.toolStripStatusLabelBodyColor.Text = "Цвет:"; + + this.pictureBoxBulldozer.Dock = System.Windows.Forms.DockStyle.Fill; + this.pictureBoxBulldozer.Location = new System.Drawing.Point(0, 0); + this.pictureBoxBulldozer.Name = "pictureBoxBulldozer"; + this.pictureBoxBulldozer.Size = new System.Drawing.Size(800, 450); + this.pictureBoxBulldozer.TabIndex = 6; + this.pictureBoxBulldozer.TabStop = false; + this.pictureBoxBulldozer.Click += new System.EventHandler(this.PictureBoxBulldozer_Resize); + + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.statusStrip1); + this.Controls.Add(this.buttonCreate); + this.Controls.Add(this.buttonDown); + this.Controls.Add(this.buttonRight); + this.Controls.Add(this.buttonLeft); + this.Controls.Add(this.buttonUp); + this.Controls.Add(this.pictureBoxBulldozer); + this.Name = "FormBulldozer"; + this.Text = "Трактор"; + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBulldozer)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private Button buttonUp; + private Button buttonLeft; + private Button buttonRight; + private Button buttonDown; + private Button buttonCreate; + private StatusStrip statusStrip1; + private ToolStripStatusLabel toolStripStatusLabelSpeed; + private ToolStripStatusLabel toolStripStatusLabelWeight; + private ToolStripStatusLabel toolStripStatusLabelBodyColor; + private PictureBox pictureBoxBulldozer; + } +} \ No newline at end of file diff --git a/Bulldozer/Bulldozer/FormBulldozer.cs b/Bulldozer/Bulldozer/FormBulldozer.cs new file mode 100644 index 0000000..f4f74b2 --- /dev/null +++ b/Bulldozer/Bulldozer/FormBulldozer.cs @@ -0,0 +1,78 @@ +namespace Bulldozer +{ + public partial class FormBulldozer : Form + { + private DrawingBulldozer _bulldozer; + public FormBulldozer() + { + InitializeComponent(); + } + + private void Draw() + { + Bitmap bmp = new(pictureBoxBulldozer.Width, pictureBoxBulldozer.Height); + Graphics gr = Graphics.FromImage(bmp); + _bulldozer?.DrawTransport(gr); + pictureBoxBulldozer.Image = bmp; + } + + /// + /// "" + /// + /// + /// + + private void ButtonCreate_Click(object sender, EventArgs e) + { + Random rnd = new(); + _bulldozer = new DrawingBulldozer(); + _bulldozer.Init(rnd.Next(100, 300), rnd.Next(1000, 2000), + Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256))); + _bulldozer.SetPosition(rnd.Next(10, 100), rnd.Next(10, 100), + pictureBoxBulldozer.Width, pictureBoxBulldozer.Height); + toolStripStatusLabelSpeed.Text = $": {_bulldozer.Bulldozer.Speed}"; + toolStripStatusLabelWeight.Text = $": {_bulldozer.Bulldozer.Weight}"; + toolStripStatusLabelBodyColor.Text = $": {_bulldozer.Bulldozer.BodyColor.Name} "; + Draw(); + } + + /// + /// + /// + /// + /// + + private void ButtonMove_Click(object sender, EventArgs e) + { + string name = ((Button)sender)?.Name ?? string.Empty; + switch (name) + { + case "buttonUp": + _bulldozer?.MoveTransport(Direction.Up); + break; + case "buttonDown": + _bulldozer?.MoveTransport(Direction.Down); + break; + case "buttonLeft": + _bulldozer?.MoveTransport(Direction.Left); + break; + case "buttonRight": + _bulldozer?.MoveTransport(Direction.Right); + break; + } + Draw(); + } + + /// + /// + /// + /// + /// + + private void PictureBoxBulldozer_Resize(object sender, EventArgs e) + { + _bulldozer?.ChangeBorders(pictureBoxBulldozer.Width, pictureBoxBulldozer.Height); + Draw(); + } + } +} \ No newline at end of file diff --git a/Bulldozer/Bulldozer/FormBulldozer.resx b/Bulldozer/Bulldozer/FormBulldozer.resx new file mode 100644 index 0000000..30aae67 --- /dev/null +++ b/Bulldozer/Bulldozer/FormBulldozer.resx @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 25 + + \ No newline at end of file diff --git a/HoistingCrane/HoistingCrane/Program.cs b/Bulldozer/Bulldozer/Program.cs similarity index 66% rename from HoistingCrane/HoistingCrane/Program.cs rename to Bulldozer/Bulldozer/Program.cs index 315551e..e8221a5 100644 --- a/HoistingCrane/HoistingCrane/Program.cs +++ b/Bulldozer/Bulldozer/Program.cs @@ -1,17 +1,14 @@ -namespace HoistingCrane +namespace Bulldozer { internal static class Program { - /// - /// The main entry point for the application. - /// [STAThread] static void Main() { // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); - Application.Run(new Form1()); + Application.Run(new FormBulldozer()); } } } \ No newline at end of file diff --git a/Bulldozer/Bulldozer/Properties/Resources.Designer.cs b/Bulldozer/Bulldozer/Properties/Resources.Designer.cs new file mode 100644 index 0000000..afbb674 --- /dev/null +++ b/Bulldozer/Bulldozer/Properties/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace Bulldozer.Properties { + using System; + + + /// + /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. + /// + // Этот класс создан автоматически классом StronglyTypedResourceBuilder + // с помощью такого средства, как ResGen или Visual Studio. + // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen + // с параметром /str или перестройте свой проект VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Bulldozer.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Перезаписывает свойство CurrentUICulture текущего потока для всех + /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap down { + get { + object obj = ResourceManager.GetObject("down", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap left { + get { + object obj = ResourceManager.GetObject("left", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap right { + get { + object obj = ResourceManager.GetObject("right", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap up { + get { + object obj = ResourceManager.GetObject("up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/HoistingCrane/HoistingCrane/Form1.resx b/Bulldozer/Bulldozer/Properties/Resources.resx similarity index 84% rename from HoistingCrane/HoistingCrane/Form1.resx rename to Bulldozer/Bulldozer/Properties/Resources.resx index 1af7de1..53ec0b4 100644 --- a/HoistingCrane/HoistingCrane/Form1.resx +++ b/Bulldozer/Bulldozer/Properties/Resources.resx @@ -117,4 +117,17 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\left.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\right.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/Bulldozer/Bulldozer/Resources/down.png b/Bulldozer/Bulldozer/Resources/down.png new file mode 100644 index 0000000000000000000000000000000000000000..a252c58d8a466a29430dced8c940b997e2f45ca4 GIT binary patch literal 28649 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 literal 0 HcmV?d00001 diff --git a/Bulldozer/Bulldozer/Resources/right.png b/Bulldozer/Bulldozer/Resources/right.png new file mode 100644 index 0000000000000000000000000000000000000000..a612474166832b4167eaa35d860ec047f96d0d55 GIT binary patch literal 28649 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 XW|Du*Be04Y@He8z|NbPp{{rAYly3Ia literal 0 HcmV?d00001 diff --git a/Bulldozer/Bulldozer/Resources/up.png b/Bulldozer/Bulldozer/Resources/up.png new file mode 100644 index 0000000000000000000000000000000000000000..d07d751ec092eee55d9322a1ccd41ff43e7904e8 GIT binary patch literal 28649 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 literal 0 HcmV?d00001 diff --git a/HoistingCrane/HoistingCrane/Form1.Designer.cs b/HoistingCrane/HoistingCrane/Form1.Designer.cs deleted file mode 100644 index 32cdcd8..0000000 --- a/HoistingCrane/HoistingCrane/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace HoistingCrane -{ - partial class Form1 - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(800, 450); - this.Text = "Form1"; - } - - #endregion - } -} \ No newline at end of file diff --git a/HoistingCrane/HoistingCrane/Form1.cs b/HoistingCrane/HoistingCrane/Form1.cs deleted file mode 100644 index 3820d41..0000000 --- a/HoistingCrane/HoistingCrane/Form1.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace HoistingCrane -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} \ No newline at end of file diff --git a/HoistingCrane/HoistingCrane/HoistingCrane.csproj b/HoistingCrane/HoistingCrane/HoistingCrane.csproj deleted file mode 100644 index b57c89e..0000000 --- a/HoistingCrane/HoistingCrane/HoistingCrane.csproj +++ /dev/null @@ -1,11 +0,0 @@ - - - - WinExe - net6.0-windows - enable - true - enable - - - \ No newline at end of file From fa7476cde9d162467ca17e9801b4f2aaacdcf4a2 Mon Sep 17 00:00:00 2001 From: EgorRomanov Date: Mon, 12 Sep 2022 11:00:02 +0400 Subject: [PATCH 2/2] =?UTF-8?q?1=20=D0=BB=D0=B0=D0=B1=D0=BE=D1=80=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D0=BA=D0=BB=D0=B0=D1=81?= =?UTF-8?q?=D1=81=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bulldozer/Bulldozer/DrawingBulldozer.cs | 27 +++++----- Bulldozer/Bulldozer/EntityBulldozer.cs | 1 - Bulldozer/Bulldozer/FormBulldozer.Designer.cs | 49 ++++++++++++++----- Bulldozer/Bulldozer/FormBulldozer.cs | 43 ++++++---------- Bulldozer/Bulldozer/FormBulldozer.resx | 2 +- 5 files changed, 64 insertions(+), 58 deletions(-) diff --git a/Bulldozer/Bulldozer/DrawingBulldozer.cs b/Bulldozer/Bulldozer/DrawingBulldozer.cs index e1957d6..8f5762d 100644 --- a/Bulldozer/Bulldozer/DrawingBulldozer.cs +++ b/Bulldozer/Bulldozer/DrawingBulldozer.cs @@ -9,31 +9,32 @@ namespace Bulldozer internal class DrawingBulldozer { - public EntityBulldozer Bulldozer { get; private set; } + private float _startPosX; private float _startPosY; private int? _pictureWidth = null; private int? _pictureHeight = null; private readonly int _bulldozerWidth = 80; - private readonly int _bulldozerHeight = 50; + private readonly int _bulldozerHeight = 80; - public void Init(int speed, float weight, Color bodyColor) + public void Init(int speed, float weight, Color bodyColor, EntityBulldozer Bulldozer) { - Bulldozer = new EntityBulldozer(); + Bulldozer.Init(speed, weight, bodyColor); } public void SetPosition(int x, int y, int width, int height) { - // TODO checks - _startPosX = x; - _startPosY = y; - _pictureWidth = width; - _pictureHeight = height; + + if (x < 0 || x + _bulldozerWidth >= width || y < 0 || y + _bulldozerHeight >= height) return; + _startPosX = x; + _startPosY = y; + _pictureWidth = width; + _pictureHeight = height; } - public void MoveTransport(Direction direction) + public void MoveTransport(Direction direction, EntityBulldozer Bulldozer) { if (!_pictureWidth.HasValue || !_pictureHeight.HasValue) { @@ -41,28 +42,24 @@ namespace Bulldozer } switch (direction) { - // вправо case Direction.Right: if (_startPosX + _bulldozerWidth + Bulldozer.Step < _pictureWidth) { _startPosX += Bulldozer.Step; } break; - //влево case Direction.Left: if (_startPosX - Bulldozer.Step > 0) { _startPosX -= Bulldozer.Step; } break; - //вверх case Direction.Up: if (_startPosY - Bulldozer.Step > 0) { _startPosY -= Bulldozer.Step; } break; - //вниз case Direction.Down: if (_startPosY + _bulldozerHeight + Bulldozer.Step < _pictureHeight) { @@ -71,7 +68,7 @@ namespace Bulldozer break; } } - public void DrawTransport(Graphics g) + public void DrawTransport(Graphics g, EntityBulldozer Bulldozer) { if (_startPosX < 0 || _startPosY < 0 || !_pictureHeight.HasValue || !_pictureWidth.HasValue) diff --git a/Bulldozer/Bulldozer/EntityBulldozer.cs b/Bulldozer/Bulldozer/EntityBulldozer.cs index a4d3269..5ea5077 100644 --- a/Bulldozer/Bulldozer/EntityBulldozer.cs +++ b/Bulldozer/Bulldozer/EntityBulldozer.cs @@ -6,7 +6,6 @@ using System.Threading.Tasks; namespace Bulldozer { - internal class EntityBulldozer { public int Speed { get; private set; } diff --git a/Bulldozer/Bulldozer/FormBulldozer.Designer.cs b/Bulldozer/Bulldozer/FormBulldozer.Designer.cs index 7911525..3b7c469 100644 --- a/Bulldozer/Bulldozer/FormBulldozer.Designer.cs +++ b/Bulldozer/Bulldozer/FormBulldozer.Designer.cs @@ -33,7 +33,9 @@ this.statusStrip1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxBulldozer)).BeginInit(); this.SuspendLayout(); - + // + // buttonUp + // this.buttonUp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonUp.BackgroundImage = global::Bulldozer.Properties.Resources.up; this.buttonUp.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; @@ -43,7 +45,9 @@ this.buttonUp.TabIndex = 0; this.buttonUp.UseVisualStyleBackColor = true; this.buttonUp.Click += new System.EventHandler(this.ButtonMove_Click); - + // + // buttonLeft + // this.buttonLeft.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonLeft.BackgroundImage = global::Bulldozer.Properties.Resources.left; this.buttonLeft.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; @@ -53,7 +57,9 @@ this.buttonLeft.TabIndex = 1; this.buttonLeft.UseVisualStyleBackColor = true; this.buttonLeft.Click += new System.EventHandler(this.ButtonMove_Click); - + // + // buttonRight + // this.buttonRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonRight.BackgroundImage = global::Bulldozer.Properties.Resources.right; this.buttonRight.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; @@ -63,7 +69,9 @@ this.buttonRight.TabIndex = 2; this.buttonRight.UseVisualStyleBackColor = true; this.buttonRight.Click += new System.EventHandler(this.ButtonMove_Click); - + // + // buttonDown + // this.buttonDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonDown.BackgroundImage = global::Bulldozer.Properties.Resources.down; this.buttonDown.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; @@ -73,7 +81,9 @@ this.buttonDown.TabIndex = 3; this.buttonDown.UseVisualStyleBackColor = true; this.buttonDown.Click += new System.EventHandler(this.ButtonMove_Click); - + // + // buttonCreate + // this.buttonCreate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.buttonCreate.Location = new System.Drawing.Point(12, 393); this.buttonCreate.Name = "buttonCreate"; @@ -82,7 +92,9 @@ this.buttonCreate.Text = "Создать"; this.buttonCreate.UseVisualStyleBackColor = true; this.buttonCreate.Click += new System.EventHandler(this.ButtonCreate_Click); - + // + // statusStrip1 + // this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripStatusLabelSpeed, this.toolStripStatusLabelWeight, @@ -92,27 +104,40 @@ this.statusStrip1.Size = new System.Drawing.Size(800, 22); this.statusStrip1.TabIndex = 5; this.statusStrip1.Text = "statusStrip1"; - + // + // toolStripStatusLabelSpeed + // this.toolStripStatusLabelSpeed.Name = "toolStripStatusLabelSpeed"; this.toolStripStatusLabelSpeed.Size = new System.Drawing.Size(62, 17); this.toolStripStatusLabelSpeed.Text = "Скорость:"; - + // + // toolStripStatusLabelWeight + // this.toolStripStatusLabelWeight.Name = "toolStripStatusLabelWeight"; this.toolStripStatusLabelWeight.Size = new System.Drawing.Size(29, 17); this.toolStripStatusLabelWeight.Text = "Вес:"; - + // + // toolStripStatusLabelBodyColor + // this.toolStripStatusLabelBodyColor.Name = "toolStripStatusLabelBodyColor"; this.toolStripStatusLabelBodyColor.Size = new System.Drawing.Size(36, 17); this.toolStripStatusLabelBodyColor.Text = "Цвет:"; - + // + // pictureBoxBulldozer + // + this.pictureBoxBulldozer.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; this.pictureBoxBulldozer.Dock = System.Windows.Forms.DockStyle.Fill; this.pictureBoxBulldozer.Location = new System.Drawing.Point(0, 0); this.pictureBoxBulldozer.Name = "pictureBoxBulldozer"; this.pictureBoxBulldozer.Size = new System.Drawing.Size(800, 450); + this.pictureBoxBulldozer.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; this.pictureBoxBulldozer.TabIndex = 6; this.pictureBoxBulldozer.TabStop = false; - this.pictureBoxBulldozer.Click += new System.EventHandler(this.PictureBoxBulldozer_Resize); - + this.pictureBoxBulldozer.Click += new System.EventHandler(this.pictureBoxBulldozer_Resize); + this.pictureBoxBulldozer.Resize += new System.EventHandler(this.pictureBoxBulldozer_Resize); + // + // FormBulldozer + // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(800, 450); diff --git a/Bulldozer/Bulldozer/FormBulldozer.cs b/Bulldozer/Bulldozer/FormBulldozer.cs index f4f74b2..9e861dc 100644 --- a/Bulldozer/Bulldozer/FormBulldozer.cs +++ b/Bulldozer/Bulldozer/FormBulldozer.cs @@ -2,7 +2,8 @@ namespace Bulldozer { public partial class FormBulldozer : Form { - private DrawingBulldozer _bulldozer; + private DrawingBulldozer? _bulldozer; + private EntityBulldozer? Bulldozer { get; set; } public FormBulldozer() { InitializeComponent(); @@ -12,64 +13,48 @@ namespace Bulldozer { Bitmap bmp = new(pictureBoxBulldozer.Width, pictureBoxBulldozer.Height); Graphics gr = Graphics.FromImage(bmp); - _bulldozer?.DrawTransport(gr); + _bulldozer?.DrawTransport(gr, Bulldozer); pictureBoxBulldozer.Image = bmp; } - /// - /// "" - /// - /// - /// - private void ButtonCreate_Click(object sender, EventArgs e) { Random rnd = new(); _bulldozer = new DrawingBulldozer(); + Bulldozer = new EntityBulldozer(); + _bulldozer.Init(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)), Bulldozer); _bulldozer.SetPosition(rnd.Next(10, 100), rnd.Next(10, 100), pictureBoxBulldozer.Width, pictureBoxBulldozer.Height); - toolStripStatusLabelSpeed.Text = $": {_bulldozer.Bulldozer.Speed}"; - toolStripStatusLabelWeight.Text = $": {_bulldozer.Bulldozer.Weight}"; - toolStripStatusLabelBodyColor.Text = $": {_bulldozer.Bulldozer.BodyColor.Name} "; + toolStripStatusLabelSpeed.Text = $": {Bulldozer.Speed}"; + toolStripStatusLabelWeight.Text = $": {Bulldozer.Weight}"; + toolStripStatusLabelBodyColor.Text = $": {Bulldozer.BodyColor.Name} "; Draw(); } - /// - /// - /// - /// - /// - private void ButtonMove_Click(object sender, EventArgs e) { string name = ((Button)sender)?.Name ?? string.Empty; switch (name) { case "buttonUp": - _bulldozer?.MoveTransport(Direction.Up); + _bulldozer?.MoveTransport(Direction.Up, Bulldozer); break; case "buttonDown": - _bulldozer?.MoveTransport(Direction.Down); + _bulldozer?.MoveTransport(Direction.Down, Bulldozer); break; case "buttonLeft": - _bulldozer?.MoveTransport(Direction.Left); + _bulldozer?.MoveTransport(Direction.Left, Bulldozer); break; case "buttonRight": - _bulldozer?.MoveTransport(Direction.Right); + _bulldozer?.MoveTransport(Direction.Right, Bulldozer); break; } Draw(); } - /// - /// - /// - /// - /// - - private void PictureBoxBulldozer_Resize(object sender, EventArgs e) + private void pictureBoxBulldozer_Resize(object sender, EventArgs e) { _bulldozer?.ChangeBorders(pictureBoxBulldozer.Width, pictureBoxBulldozer.Height); Draw(); diff --git a/Bulldozer/Bulldozer/FormBulldozer.resx b/Bulldozer/Bulldozer/FormBulldozer.resx index 30aae67..796091e 100644 --- a/Bulldozer/Bulldozer/FormBulldozer.resx +++ b/Bulldozer/Bulldozer/FormBulldozer.resx @@ -57,7 +57,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 17, 17