From 8cdbd27e93cde187482b12a431fee4f9e0b46f58 Mon Sep 17 00:00:00 2001 From: Hells Hound Date: Sat, 10 Sep 2022 20:32:14 +0400 Subject: [PATCH 1/8] =?UTF-8?q?=D0=9A=D0=BE=D0=BC=D0=BC=D0=B8=D1=82=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B2=D1=8B=D0=B9.=20=D0=9D=D0=B0=D1=87?= =?UTF-8?q?=D0=B0=D0=BB=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AircraftCarrier/AircraftCarrier/EntityWarship.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 AircraftCarrier/AircraftCarrier/EntityWarship.cs diff --git a/AircraftCarrier/AircraftCarrier/EntityWarship.cs b/AircraftCarrier/AircraftCarrier/EntityWarship.cs new file mode 100644 index 0000000..e843ce0 --- /dev/null +++ b/AircraftCarrier/AircraftCarrier/EntityWarship.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AircraftCarrier +{ + internal class EntityWarship + { + } +} -- 2.25.1 From 1dcad5809bdf9974aec98accf3957167f4277f08 Mon Sep 17 00:00:00 2001 From: Hells Hound Date: Sat, 10 Sep 2022 22:38:58 +0400 Subject: [PATCH 2/8] =?UTF-8?q?=D0=92=D1=82=D0=BE=D1=80=D0=BE=D0=B9=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82.=2060%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AircraftCarrier/AircraftCarrier.csproj | 15 ++ AircraftCarrier/AircraftCarrier/Direction.cs | 19 ++ .../AircraftCarrier/DrawingWarship.cs | 148 +++++++++++++++ .../AircraftCarrier/EntityWarship.cs | 34 ++++ .../AircraftCarrier/Form1.Designer.cs | 39 ---- AircraftCarrier/AircraftCarrier/Form1.cs | 10 - .../AircraftCarrier/FormWarship.Designer.cs | 173 ++++++++++++++++++ .../AircraftCarrier/FormWarship.cs | 37 ++++ .../AircraftCarrier/FormWarship.resx | 66 +++++++ AircraftCarrier/AircraftCarrier/Program.cs | 2 +- .../Properties/Resources.Designer.cs | 103 +++++++++++ .../{Form1.resx => Properties/Resources.resx} | 13 ++ .../AircraftCarrier/Resources/ArrowDown.png | Bin 0 -> 20401 bytes .../AircraftCarrier/Resources/ArrowLeft.png | Bin 0 -> 20661 bytes .../AircraftCarrier/Resources/ArrowRight.png | Bin 0 -> 20306 bytes .../AircraftCarrier/Resources/ArrowUp.png | Bin 0 -> 20328 bytes 16 files changed, 609 insertions(+), 50 deletions(-) create mode 100644 AircraftCarrier/AircraftCarrier/Direction.cs create mode 100644 AircraftCarrier/AircraftCarrier/DrawingWarship.cs delete mode 100644 AircraftCarrier/AircraftCarrier/Form1.Designer.cs delete mode 100644 AircraftCarrier/AircraftCarrier/Form1.cs create mode 100644 AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs create mode 100644 AircraftCarrier/AircraftCarrier/FormWarship.cs create mode 100644 AircraftCarrier/AircraftCarrier/FormWarship.resx create mode 100644 AircraftCarrier/AircraftCarrier/Properties/Resources.Designer.cs rename AircraftCarrier/AircraftCarrier/{Form1.resx => Properties/Resources.resx} (83%) create mode 100644 AircraftCarrier/AircraftCarrier/Resources/ArrowDown.png create mode 100644 AircraftCarrier/AircraftCarrier/Resources/ArrowLeft.png create mode 100644 AircraftCarrier/AircraftCarrier/Resources/ArrowRight.png create mode 100644 AircraftCarrier/AircraftCarrier/Resources/ArrowUp.png diff --git a/AircraftCarrier/AircraftCarrier/AircraftCarrier.csproj b/AircraftCarrier/AircraftCarrier/AircraftCarrier.csproj index b57c89e..13ee123 100644 --- a/AircraftCarrier/AircraftCarrier/AircraftCarrier.csproj +++ b/AircraftCarrier/AircraftCarrier/AircraftCarrier.csproj @@ -8,4 +8,19 @@ enable + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/AircraftCarrier/AircraftCarrier/Direction.cs b/AircraftCarrier/AircraftCarrier/Direction.cs new file mode 100644 index 0000000..ec2abc9 --- /dev/null +++ b/AircraftCarrier/AircraftCarrier/Direction.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AircraftCarrier +{ + /// + /// Направление перемещения + /// + internal enum Direction + { + Up = 1, + Down = 2, + Left = 3, + Right = 4 + } +} diff --git a/AircraftCarrier/AircraftCarrier/DrawingWarship.cs b/AircraftCarrier/AircraftCarrier/DrawingWarship.cs new file mode 100644 index 0000000..ba51908 --- /dev/null +++ b/AircraftCarrier/AircraftCarrier/DrawingWarship.cs @@ -0,0 +1,148 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AircraftCarrier +{ + /// + /// Класс, отвечающий за прорисовку и перемещение объекта-сущности + /// + internal class DrawingWarship + { + /// + /// Класс-сущность + /// + public EntityWarship Warship { get; private set; } + /// + /// Левая координата отрисовки военного корабля + /// + private float _startPosX; + /// + /// Верхняя кооридната отрисовки военного корабля + /// + private float _startPosY; + /// + /// Ширина окна отрисовки + /// + private int? _pictureWidth = null; + /// + /// Высота окна отрисовки + /// + private int? _pictureHeight = null; + /// + /// Ширина отрисовки военного корабля + /// + private readonly int _warshipWidth = 80; + /// + /// Высота отрисовки военного корабля + /// + private readonly int _warshipHeight = 50; + /// + /// Инициализация свойств + /// + /// Скорость + /// Вес военного корабля + /// Цвет главной палубы + public void Init(int speed, float weight, Color bodyColor) + { + Warship = new EntityWarship(); + Warship.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 + _warshipWidth + Warship.Step < _pictureWidth) + { + _startPosX += Warship.Step; + } + break; + //влево + case Direction.Left: + if(_startPosX - Warship.Step > 0) + { + _startPosX -= Warship.Step; + } + break; + //вверх + case Direction.Up: + if (_startPosY - Warship.Step > 0) + { + _startPosY -= Warship.Step; + } + break; + //вниз + case Direction.Down: + if (_startPosY + _warshipHeight + Warship.Step < _pictureHeight) + { + _startPosY += Warship.Step; + } + break; + } + + } + + /// + /// Отрисовка военного корабля + /// + /// + public void DrawTransport(Graphics g) + { + + } + + /// + /// Смена границ формы отрисовки + /// + /// Ширина картинки + /// Высота картинки + public void ChangeBorders(int width, int height) + { + _pictureWidth = width; + _pictureHeight = height; + if (_pictureWidth <= _warshipWidth || _pictureHeight <= _warshipHeight) + { + _pictureWidth = null; + _pictureHeight = null; + return; + } + if (_startPosX + _warshipWidth > _pictureWidth) + { + _startPosX = _pictureWidth.Value - _warshipWidth; + } + if (_startPosY + _warshipHeight > _pictureHeight) + { + _startPosY = _pictureHeight.Value - _warshipHeight; + } + } + + } +} diff --git a/AircraftCarrier/AircraftCarrier/EntityWarship.cs b/AircraftCarrier/AircraftCarrier/EntityWarship.cs index e843ce0..2c0f4f5 100644 --- a/AircraftCarrier/AircraftCarrier/EntityWarship.cs +++ b/AircraftCarrier/AircraftCarrier/EntityWarship.cs @@ -6,7 +6,41 @@ using System.Threading.Tasks; namespace AircraftCarrier { + /// + /// Класс - сущность "Военный корабль" + /// internal class EntityWarship { + /// + /// Скорость + /// + 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/AircraftCarrier/AircraftCarrier/Form1.Designer.cs b/AircraftCarrier/AircraftCarrier/Form1.Designer.cs deleted file mode 100644 index d531f87..0000000 --- a/AircraftCarrier/AircraftCarrier/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace AircraftCarrier -{ - 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/AircraftCarrier/AircraftCarrier/Form1.cs b/AircraftCarrier/AircraftCarrier/Form1.cs deleted file mode 100644 index 1c6b704..0000000 --- a/AircraftCarrier/AircraftCarrier/Form1.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace AircraftCarrier -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} \ No newline at end of file diff --git a/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs b/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs new file mode 100644 index 0000000..7081603 --- /dev/null +++ b/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs @@ -0,0 +1,173 @@ +namespace AircraftCarrier +{ + partial class FormWarship + { + /// + /// 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.pictureBoxWarship = new System.Windows.Forms.PictureBox(); + this.statusStrip = 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.buttonCreate = new System.Windows.Forms.Button(); + this.buttonDown = new System.Windows.Forms.Button(); + this.buttonUp = new System.Windows.Forms.Button(); + this.buttonLeft = new System.Windows.Forms.Button(); + this.buttonRight = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxWarship)).BeginInit(); + this.statusStrip.SuspendLayout(); + this.SuspendLayout(); + // + // pictureBoxWarship + // + this.pictureBoxWarship.Dock = System.Windows.Forms.DockStyle.Fill; + this.pictureBoxWarship.Location = new System.Drawing.Point(0, 0); + this.pictureBoxWarship.Name = "pictureBoxWarship"; + this.pictureBoxWarship.Size = new System.Drawing.Size(1058, 498); + this.pictureBoxWarship.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.pictureBoxWarship.TabIndex = 0; + this.pictureBoxWarship.TabStop = false; + // + // statusStrip + // + this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripStatusLabelSpeed, + this.toolStripStatusLabelWeight, + this.toolStripStatusLabelBodyColor}); + this.statusStrip.Location = new System.Drawing.Point(0, 498); + this.statusStrip.Name = "statusStrip"; + this.statusStrip.Size = new System.Drawing.Size(1058, 22); + this.statusStrip.TabIndex = 1; + // + // toolStripStatusLabelSpeed + // + this.toolStripStatusLabelSpeed.Name = "toolStripStatusLabelSpeed"; + this.toolStripStatusLabelSpeed.Size = new System.Drawing.Size(39, 17); + this.toolStripStatusLabelSpeed.Text = "Speed"; + // + // toolStripStatusLabelWeight + // + this.toolStripStatusLabelWeight.Name = "toolStripStatusLabelWeight"; + this.toolStripStatusLabelWeight.Size = new System.Drawing.Size(45, 17); + this.toolStripStatusLabelWeight.Text = "Weight"; + // + // toolStripStatusLabelBodyColor + // + this.toolStripStatusLabelBodyColor.Name = "toolStripStatusLabelBodyColor"; + this.toolStripStatusLabelBodyColor.Size = new System.Drawing.Size(36, 17); + this.toolStripStatusLabelBodyColor.Text = "Color"; + // + // buttonCreate + // + this.buttonCreate.Location = new System.Drawing.Point(12, 457); + this.buttonCreate.Name = "buttonCreate"; + this.buttonCreate.Size = new System.Drawing.Size(75, 23); + this.buttonCreate.TabIndex = 2; + this.buttonCreate.Text = "Create"; + this.buttonCreate.UseVisualStyleBackColor = true; + this.buttonCreate.Click += new System.EventHandler(this.buttonCreate_Click); + // + // buttonDown + // + this.buttonDown.BackgroundImage = global::AircraftCarrier.Properties.Resources.ArrowDown; + this.buttonDown.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonDown.Location = new System.Drawing.Point(980, 450); + this.buttonDown.Name = "buttonDown"; + this.buttonDown.Size = new System.Drawing.Size(30, 30); + this.buttonDown.TabIndex = 3; + this.buttonDown.Text = " "; + this.buttonDown.UseVisualStyleBackColor = true; + // + // buttonUp + // + this.buttonUp.BackgroundImage = global::AircraftCarrier.Properties.Resources.ArrowUp; + this.buttonUp.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonUp.Location = new System.Drawing.Point(980, 414); + this.buttonUp.Name = "buttonUp"; + this.buttonUp.Size = new System.Drawing.Size(30, 30); + this.buttonUp.TabIndex = 4; + this.buttonUp.Text = " "; + this.buttonUp.UseVisualStyleBackColor = true; + // + // buttonLeft + // + this.buttonLeft.BackgroundImage = global::AircraftCarrier.Properties.Resources.ArrowLeft; + this.buttonLeft.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonLeft.Location = new System.Drawing.Point(944, 450); + this.buttonLeft.Name = "buttonLeft"; + this.buttonLeft.Size = new System.Drawing.Size(30, 30); + this.buttonLeft.TabIndex = 5; + this.buttonLeft.Text = " "; + this.buttonLeft.UseVisualStyleBackColor = true; + // + // buttonRight + // + this.buttonRight.BackgroundImage = global::AircraftCarrier.Properties.Resources.ArrowRight; + this.buttonRight.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonRight.Location = new System.Drawing.Point(1016, 450); + this.buttonRight.Name = "buttonRight"; + this.buttonRight.Size = new System.Drawing.Size(30, 30); + this.buttonRight.TabIndex = 6; + this.buttonRight.Text = " "; + this.buttonRight.UseVisualStyleBackColor = true; + // + // FormWarship + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1058, 520); + this.Controls.Add(this.buttonRight); + this.Controls.Add(this.buttonLeft); + this.Controls.Add(this.buttonUp); + this.Controls.Add(this.buttonDown); + this.Controls.Add(this.buttonCreate); + this.Controls.Add(this.pictureBoxWarship); + this.Controls.Add(this.statusStrip); + this.Name = "FormWarship"; + this.Text = "Warship"; + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxWarship)).EndInit(); + this.statusStrip.ResumeLayout(false); + this.statusStrip.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private PictureBox pictureBoxWarship; + private StatusStrip statusStrip; + private ToolStripStatusLabel toolStripStatusLabelSpeed; + private ToolStripStatusLabel toolStripStatusLabelWeight; + private ToolStripStatusLabel toolStripStatusLabelBodyColor; + private Button buttonCreate; + private Button buttonDown; + private Button buttonUp; + private Button buttonLeft; + private Button buttonRight; + } +} \ No newline at end of file diff --git a/AircraftCarrier/AircraftCarrier/FormWarship.cs b/AircraftCarrier/AircraftCarrier/FormWarship.cs new file mode 100644 index 0000000..62d744d --- /dev/null +++ b/AircraftCarrier/AircraftCarrier/FormWarship.cs @@ -0,0 +1,37 @@ +namespace AircraftCarrier +{ + public partial class FormWarship : Form + { + private DrawingWarship _warship; + public FormWarship() + { + InitializeComponent(); + } + /// + /// + /// + private void Draw() + { + Bitmap bmp = new(pictureBoxWarship.Width, pictureBoxWarship.Height); + Graphics gr = Graphics.FromImage(bmp); + _warship?.DrawTransport(gr); + pictureBoxWarship.Image = bmp; + } + /// + /// "Create" + /// + /// + /// + private void buttonCreate_Click(object sender, EventArgs e) + { + Random rnd = new(); + _warship = new DrawingWarship(); + _warship.Init(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}"; + Draw(); + } + } +} \ No newline at end of file diff --git a/AircraftCarrier/AircraftCarrier/FormWarship.resx b/AircraftCarrier/AircraftCarrier/FormWarship.resx new file mode 100644 index 0000000..e86b183 --- /dev/null +++ b/AircraftCarrier/AircraftCarrier/FormWarship.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 + + + 59 + + \ No newline at end of file diff --git a/AircraftCarrier/AircraftCarrier/Program.cs b/AircraftCarrier/AircraftCarrier/Program.cs index 58eab96..8b302c0 100644 --- a/AircraftCarrier/AircraftCarrier/Program.cs +++ b/AircraftCarrier/AircraftCarrier/Program.cs @@ -11,7 +11,7 @@ namespace AircraftCarrier // 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 FormWarship()); } } } \ No newline at end of file diff --git a/AircraftCarrier/AircraftCarrier/Properties/Resources.Designer.cs b/AircraftCarrier/AircraftCarrier/Properties/Resources.Designer.cs new file mode 100644 index 0000000..6811c92 --- /dev/null +++ b/AircraftCarrier/AircraftCarrier/Properties/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace AircraftCarrier.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("AircraftCarrier.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 ArrowDown { + get { + object obj = ResourceManager.GetObject("ArrowDown", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap ArrowLeft { + get { + object obj = ResourceManager.GetObject("ArrowLeft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap ArrowRight { + get { + object obj = ResourceManager.GetObject("ArrowRight", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap ArrowUp { + get { + object obj = ResourceManager.GetObject("ArrowUp", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/AircraftCarrier/AircraftCarrier/Form1.resx b/AircraftCarrier/AircraftCarrier/Properties/Resources.resx similarity index 83% rename from AircraftCarrier/AircraftCarrier/Form1.resx rename to AircraftCarrier/AircraftCarrier/Properties/Resources.resx index 1af7de1..1ee1a77 100644 --- a/AircraftCarrier/AircraftCarrier/Form1.resx +++ b/AircraftCarrier/AircraftCarrier/Properties/Resources.resx @@ -117,4 +117,17 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\ArrowDown.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ArrowLeft.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ArrowRight.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ArrowUp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/AircraftCarrier/AircraftCarrier/Resources/ArrowDown.png b/AircraftCarrier/AircraftCarrier/Resources/ArrowDown.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7d883ff7c3e6d50100bc1586a01ae5a82f986f GIT binary patch literal 20401 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 literal 0 HcmV?d00001 diff --git a/AircraftCarrier/AircraftCarrier/Resources/ArrowLeft.png b/AircraftCarrier/AircraftCarrier/Resources/ArrowLeft.png new file mode 100644 index 0000000000000000000000000000000000000000..d2c3c912d69505dedbee98f6b5580851917814ed GIT binary patch literal 20661 zcma*Pc|25o-#C6qp=3!}vPDIMdH(2?`J8h;=e_TrbMMS)?X8=4ZblGf>xtt>&mqVL z68ev66Rc#_nw7zSbZ+Ogk07rb`M<*thKq-F4udk&)4ki;HtpfBn~3hu@k_^ve9C%}gJKSaF|w z;dnuJcXw!YzpLwP&B~{XO+x~ieKw>+ti(jN2F;!|o4MA~etjR7Y3D7(#MaBX6>CER z>a%iG!E0@rnM0GVI|PfJ?}d37eH*<$nxB^EEg&KDWb~Xlog1A;yR>?Tre)L0nq^>q zCnC?6BDh&`lDJat7mscxZ86Gs{vcKLZKx?plJNwBe6=z) zHEks?Omvr26eo!XK01G-+hZejy zaF{09G=WpyCjsH8s|O!3#p-$N zzZ)KgZ%CKKsqG4^JXSC@+L2iti6G=3!g(!(*l0-xYRj-cMSC-cRO-g^++6u?i=%}M z2y(W>#WwMk|p;yf=lMjJa^aye}NYqfF#CnZ-)emnOfd4^{U%*AC zSM6lof*|gPi|*nTDvtTf`xk_~Mf+TyTI7fKw+pa2Pwlsu@ntV&(*Tj3$$xnQ<7pPIg-a@Y^4bW>S2U4Br@t?CNYb3G(njS5A z>DWsHrBpLp4%vQI=^;~-y}%}(;Hwt+PM6W*Mn)>uENWVs4nYE+#7Da6A-Rf0ehP<`p9Pq^)YBW`4PAjC0$;5-u&LtQ!nvo~MJu+~Y#}l~tB;M&LpLN) z;u8{9EbKhb>Z>GAk9a%_5H|x(NxdGk^|UH<5(A8Q-vWx{tHs-}rfl#Aqh?0naV$n^ zx%CoxI|kq%X}Qy8XUa^PY^c87JU<94&$Vw;=YI6)O&jnD=S~ug1M3YlEp#iq0kjb} zS68{N?(WNbZS()C47p-}%C%7_)>iRV3xW5$x4*ytVgo>srShOe#D9M$#YqYfo%;6e z3CbFRe(jQI~axw+*YxNcN8ID#hH~ ze1|q$Noi@kMf$s%yVNCBb-(3(_g8-&V<3L~^eOJNrIi1%9H7#jYHq=P-}gPG&Mi(q zenlG*kn|6*{;h9)lv3r!{$UE}vyi!8(_Yb;h&MF?QZTd=T zO)HtHrI)|d#6RlkaKa^SeLc5fVr;EM2*0s&^?-^>tRj87T3Y>3N5&g)C{H&G+F0sr zzwv7%Qp~!hVN(rO_SiltO>18EdY3{fXO>T2lpeXW-+RRGVcNMrUi2dFbhmp^+pBZA z+uziOn*=svY2 z>zk(Da}_@hY0Yl;KXw4@U&OtBUp#$@GPEyX2)x6_#``1ziINcSFpu$1kKVmJ`qu7- z$c5?>j*AyBrna`WelOWJ`Q+aHt3hH-D`2(GM0-o834G@(`ieXF8}R&sf?V2dAGXQv9{c#v_Dvt7 zq#wCYK%jCPLJ$rb{c`obX!?%Sv!g~o)2@<33@+teFix1ixwtT$2Ii5R{Ai1QHGji< zTWo@8^~i^8oZ|q&*ibUkpTc%#c^8FkJ8DyS6>PqJYiI~fE)szoY{MkXsZTfHx4+41 zy7W%9e!lXB+kP>C*!VW}s&FjU-h}D7--91@8WkZY1*rCqW8F=YI=!PN1J19qgO;zw zY>jp8=5Kv(`|$es!~~|BVkUu$`myuqmbUWfU!;VK;(#Ezzs_-x=P%wZbi9hDNk-&1 zER#f&;(&$Ts=Iwb5_P>GlW$yb!@VLBal$Fvh5Vt+?6kXd zDy4LI13WH;If7U4aFRr9k$CM?pE;+dHOP|y*x^o2T_H_8cR{Tg^&5d#_{1F6Jn!pnv+9z) zleZyu?K;mIb4XQnJC-}|IJdkq4x=*bSu0|8Y>OIdhMTwA)k+Q7J;dy16WvJlLPXw7 ztk$USenWP|Rj@|od&qkf@dIb)QjoCGJDFC6Q@A{$G zBXUz`YJE&}qC z_O+vul2Sz9e8KSv*R*oqrS|1|C-2nzQxb~oQ5l#z8%Sk3J7~Kqd1UU_FAvw*f+FzaXR2)0cJxkVPgVmL z)gKABzEz(-l=rbo9j?7Qo+>6LMv-Pf0StV~5;OaLxdYieVr%H8r)5>usr3j{im-^qqPs zUf2f5HMm-pT~Q%p+ZgoOOI>WGwNgQKHq2}4T?7-v3;9gvCdH->JDJw{Pq0O-NaCsm z@Lps7eJ42e5~uC~QtW7WNhD1DknQwWA!YAuZl*-+O;iB)mz%P%{rnbn-$h%yPRj|s z%w+-DdMzjG{mH^au@kDseXGqy@caZZo_#dWXL&xm(C#C?z->7_U}5}IL7#nL-wErp zLJ&R3J>aI+EH^F9{UD~s5O}XOHxF4hHkQD%UUid`lV68yEX>TdYtN~WG!y-KHEkNu zOXng(#i!-gSRxWO=}gP4@$Gc{0`i*`RLeGKv&t)4qPVb^Rm62-Y)t10e=N^VzE|UE z7nqamf-D37c6R^NbMC`#o`u8BNAs2s9i1H+d3j)Gl)YUVDpiD<_{2ok>(8AOr2QGG zk1;=|2kN8yfOt6XmKFY~Go4LI>TD$e09k72R`3J*EDfRN;(^64ouqay9mKI-&d7QU zaTHnN-I>nEivqHD@x$q=VBdZbF?g29(3Xdq3bh1Y=}~+04G8i<`pDp!xsOSks1o(_ zgZ8!3j_{seDMW8~_Y3h`YZP!6mX>;YfxArF^k?&76R(pBlNJ?zhYByBdPe7VT(Z{W zBg9YkM-=h{^QHTe2XU;~S^!ku?qU)jA78+T_2~_R0|RzHD!$LJrl41vA3gSv^S>th zV`3sW)i0Q_?K7a9e8P@f-ZO{i)?t@-hO^Oa~^yv$BqF1;~# z8Z`>`l<;DbV}xaXL4h_mH#bFhWt*Ff|LU@Fy#A-@+>^)k|EJ&otzQPlbIZ#|hTMCGj{h;c}XGog_-kojP~FPTv-uF0m}Fn)@v#F@16 zYjSCHxtXSqN_`e`4uGH!2O8bZ%e?-n@-sw4{V3Ox4_fcE zwA4181-n#2$2A8;ES3m-U!C&Ax3!+Y`(u;QXQ1HlOH$(;eqQ?msA}fxE{W% zHW>9~Bb7(c(G>(YdDQxwT~FZqSqyH(0$#2>+%MZ{v5|Uw&DT5>!p7mG@`32J?k``s z?k*5#u6Rj-=_8h3&it6p`fLJ(H9Vrcp~|eJs3=C&f3@^LgQ4m^%W|I>Pg$YSI)l#g zCnpOG|EC}NEwYZq&L3`|3Dd;H>%zU358hvItMrjT18aBPB(BBpy5zBb(WhW;)_ys> zw7f$9Z2Sa>G5;@z$4Orpbha!5UGmbo>EuNtoSmFV{s60OnxUp`CIp&QrTWI>u#mj9 zWe*W=Y?&|dy-gwq9w_>LJ~xA#u5~l|W4yHz*ko^P8H+DtA{m5lgmkApS|>FCp45=O z&LO*$Cnt^|vZ}uC6;z;Zf_&)n2a8X!DyO0kqW9){y1OeVA2_h@^t8LDr()NaFPKI_ zZoU{ydflqRf3(2omCQ{&nwpxl4<0;7F;1-RpY+$X?T5_?o=#3q+qJ#pHc?ATO1__X zy*Pz~<*Ex$mpb=yEdYa)x#&d!GR7IJ5o;NGyk*yWxUNh?Vwk`!W3gR(VVf-6_nfi@ zl@g*RTs8W#rl_Pu`?G6mYM{PvpXE9xM;JNbl_s`5m19*Fa&V`w{i?ARhzG%hiH556 z$Cu#eE9~M(Se4h z%uIiGA0M;$L*uiv`3FqQB184s)>DRmTG2G;V#U$w3QJQ{N$2-XUaIXVyN83B9F*(T zaL&%oT-xydJnLOTyX~-MWChBKH z34l1+x0T?1?V8ddc#dHA9YwBf9(O~v{9MFkH zu})?~B`j5ywt9wW!GJQSOYDDPj?t&Cu2?hhh-nMT2M_XruyJ41OV7E8j~qYqJB|CF z@Y8sr4iy*ye*WzRgLbNdVXJffHDP@av?EbU0wR1TP*IpY%8j}<(5+{5(-RZU*MYzq z2Vb&ek8dWTHpBg0TbsV?qqMa$ls%}tNSE=5#4U-agKMF1z|G~>K~A#*)cG(iKNOXV z55P@TaJ zu`Vyw#CL~Zn?`>A{CT^!!^^ycemcvj|Ki0vJiDi-r&}5u8-Y<3IZu6Ql6+U0rkEm2 z$|QZ0kMOn+VoR4#z6@~#4kfE~GU}k*AUN0hu|A_gpfqDGq+?ElK=*EKwcp;NV3!v} zux-udV{?_XqD1jy?j_t#nv#`Uj0LP;Ra>H=Nd$$HJqi{f*|)Q)QUU#Im>3!w+P6>7 zv47I*;j~0f#QP@)PM+TzV(|UZ%l|jspz+WA`O@;jbl*Oi>=nCN+Qu`789soZ_DSh= z{y;4)RE#K8-ykQMSyaH_WxrR;cu}}CO0LTt&7TL4heVQSx6=W)9BBwHu{;2&CEOyQ zyU-b+Ka#luYf*k5CZl`N>?QKXh%c-r0&HrZf_lVzTNMLkeVusob`g(>KZ^!`N?X@! zzNG$z>7myC&&zdD>-wnq=Z@>9!ZQnw#oC&f0vGVen&^g{~bDwAMcJZPYx|FFSn@YZc%=hvUxxV!6}0mF_zq5 z#ZcYf-;Y`kdwBcINLxB8aH;-@>i%jgC6i*SmzVD~?RKIkUj+nnE^Hz*-TCzCQ!Cla z#YI*{S((?|%q-+w!PnplKL5U+>Lkc=WHBSEx@3l3l6GH-Ke;QhN30m$6(5xi z4d0nGx3V7-PUeWE`_568sOfh@VOhqW`|FdL5h@st@HeVt3 z)-pnC`cD`J@=M!bV{~MWoTF&f=WxAnOZuA+9*>=U5=mEhuX=}eL1@Mrqg%$Nn)%n? zqGN9E(b3)>oLagrHSVX1NO}zQ@n4Y8(|87|1h*&>eh^S^407pwO7Y>^;f5WLWG06* zlaM?Ny>ZbwrwMBhV_{ChV{qg4`n;Hu!gFKTlqD!$44s^IL3SAe=UxTjItyHkgBM60 z9Ua9agylY<-e32%t?dwIlwH%#LynFIrSCDI#@8LaIioks3^+9HDtwoo5t+%!;3pNH zu|(g!d$)`=`f0i6MY^xTuxsePs)31#iCu5)-hY8T?-7{Ebq#^_L?W@T-D>`4uO>L_ z6<|%)IY^Q%YlQ>r+1=!%XE%_~z=jz*ycip;Hds7IRo<_|MGyx4FuK?2qU>&2;U|3` zN$vq+UsB@3*aX=x^J1%P>3D+QOnRxlU%2CsjX}*}DcO+s%agyomdA%smm;X>9~xBG z*4AzFAyV2ymhQQsQ@ya+>L{8f(-T&Kde5~=`*$YP zqwxn9KISennH}J~z}0(hXv$SH>F#E-Ec*Lg;HiXDhz6Mf=kRvG`lS><9a;9(P4k^^O)TenFb` zfT()gFryrEyOEg~*dY~m*cAzX1l+D)45{gdAb#-_nc=Gtht!?=>t){4&rr}!{$Z-z zZ`?4AKlG|@Ia+JvGp)2q6E!>Y-W&^*E=zenPO3@&cJ$@~9{p|*hWlKPkK=g-aV+`D z05Q(RxB`-K!{VP1JOkD`AQ(tqS(&uiYmLZj@91`M1E>{M1HHYy!+m`zg^|T$)G(qGWOdkf^>bXsP|D5fTWL;>p6AfuL-Tmdttc#tyQ90H7Aj2dBd2$$o8DNspzO z@8^HZ3QMz7VTf|H@)g52JGnV5mo8S7i|`mkW7D8tq3wQa`?1MMSJzEQ)h^fpR3aV{ z+_^W9Q)r67!fjZ9=;nK~5rWDy4!K=F_^z~mWyKd*w&?_!VOY60M_KL%cD9s(rZCqt zSfZipvkhbD1d+jMJw5-PAw>2ly{LwsRSgt?hkJ$qZ!g zx~RqHKCQZ}k9a9g3|(?2gAPIPo{NK#lUv;m8#=-oQ2fx@z8R(J4ldwXftz>uXMP!o*%;Dm_ImUK{Axq|v zt`2g_(qS(I)`QjE9KAKjw+y7qD;92w>2!HNqE)y&H9&--KQllRLJh3{IP{lAbh>_E z{rLE0DAH^LpkkVfoTA_sBDzzuTc;GPNA1SZyMJDR9hjq$EPjBo3aFltkbwStvaYcy zcGwsxcMf)L$NHC7vmdXkET*IQtzB-NOHAFg^1tiw5N)c}KqD=!rs$ryD7aC9?J`)n z@BaP!T+oanR{(VPIWTeDy;uGHD-LWxqV~f3K@wB}mJt*d5CYoY=sMx|-(ZFEfYp#b zy|vSvot=Hwn^Skme|=ZKnlDrO9ez>3*Zy!hJmJz zkpQ4)_1110C}$r?U~b;ko8t|!l= z1rRcfcrk3OtYdDS?6A^BbK=UDKYz;-F|_cw*}r5-aWty;A^uS>Hgd@A-(h)u*#wY= z_%C0PzKup2zy~FbMj4Q12Rlj{?1USVd5bV`I4-?v_W8H>_=taM(% zz!6Z!+L|@L<@vMx^gnrkgeuWc8r8I=+r|{#5C=J*hG0A7xO;}$*u)~^oD?1=%Z zK%gPW#oN!%!lCUDG8}=%r2F(B2%Xm&%JH^?Qt0Z(k01BlpW1_?4@h(CEQLqFI4wW$ zWo+fw!PQC)x0V_;56#Tvf#l-tdMXtdIe8?20vs4NC^pWO0j*}jd}VJQ-iC=2GovTB zUeB%#Q`RPj|Atm~R@1hjk|FTuIx^pLe&AvQm|5^=pBrIQ!eE-SO=}Sq8Xpl|Mm;#PDVMW_Uy%_gdG z7sx|wwEH{+4TTh`KM z`tLrR`t%4f4zfgznKeoveG7X!f)$7C%|=dC7pIn&OM%(3koJ)`|CX^somb97o|T-w zuAUk@0C1HPg-#Z?>puoFAohB|<$iToEZ+0h&b96|NQnP z1Y8pJ=^K!?bzvIboUpF((w*02iDAgAzlvy5{{iA_6A(z$G8VsABOyCL+fiapnpuf5{_^yniar+w@?ABr=%iOcBk-|V%2+m%VY|GSXz-u4{-(-&8*c5vhC zX)VsHuO!VBCEwafr9AqFQHStryjbq2V#gbCYugNEk_PA|DvCM47I(`?Lf4Lbak`zt zAR1$4v%QqfNMQ2Gxjab*9ozuE>ZulmW=|HrYcaN}k;oDhnY!VW$b?hG;8zyB7-*dA zk|`TT)ga>}FUBq5dE#zBWU7tGieIh?-=FNfZm(-iuMFaL=4|=^bpGO0I95gEL|D$s zsF1)mc&uxihB{=6vYP9vwbB9`OmZY|TQ~7Dr{Go)$fv(q=zqNhRo>?*EYUC;Aq|ER zHLGb*3<33w+W)C2Z>NVmx|9h^G+uH&T_^wIE4IuZjumeQ_6#*v*)88VPFC*B{Zka*id=jiV+<`>$SxJnpKi>)Fqbgy^PSQ9;%H zupLCLyFOaRlIx({SW7nO*KGN-zo+n)+TuR689zW#g7_DP;6YFtpTNCmU?y~bGI zuS4eTC~m#|n-S+r{!pni#JC6K`|3-+U$;-~y5>r!uyim(Rd40v{z;F>IttVQTX z>pzK*)n*s7$40AiN>}0a=8Z5l6va#mLv!OWqRHF68f)*E?y=L&beCLPV`zTVu_dzt zLUFLsMT|P2l6t|GUT~8-<-&{kX($(d*BS@ErVV(dUTjJXot>LY^B1#Vd}-#sp~^}~ z=j++Gd&#n&*93%ypl4LE;o@!G!<=5hU}G4;cO!w)Z}Gee0m;l%8zCLsYphwh|C-+- zCLav1@U6jg!^~%y97jZ5dK7TQE(~~3nD_!YdffiLF1bO+>ebRCqO$e;I$veLUc6vs zWql^hnQY4{`qT7wy^+PiK{N2IPlCdY8|xXebeUx#9D>qj)gYbGaccc`>`e$m{qLX& zK@^8@tBWz2Ux(*F?>0g)DS{bfX@jU4{h0#rBs!L+1S?vcexTN)vCS5{G8Lh}aEF__ ze_e4#o|mA(HT{|Nva&JRvajK7NJbZgrD+1Z!kmB2qy!lIFkHu2e733F2q-*zWUjMIm!=;_)+jRR zMoz*}_ZbPIk>)yI9YAL~3yX_$tQC+@=;b(-;7C%cuehQ9r8j0sKVw+R$Ms{^1`WQ_ zO^0K@P%A&Q5mtk*z3oe|N!@|i*F$D8PGn|Y*Py^kz7t5^UW)+hmz#bbaFe|$<#m=Z z`Eqo0G=<}5I6Ta-DEWnXI)zo^Q(wdBD%)O%BBf1`Js}1dgNSZ$wv7bu6uF;homxt7 z5cd{=`mYA}yA(HaRZ3OTlE){siuSE^z6Mmy9_tio#j7vcO{+YKd-P9NT>o|Hy3=DJ zq{|(O@?AYWGL5VK9_pwLyynwMMu;p%Q3dz5kru4eBCD1 z2DDy>TtYoOm{kPn4);YV3`L%LxDSep2GVnlEDDwUI?1ip?;X{L5ckT#LA)!2>O1tw zUlK-iH~JwTYoO{g%CfHRXOQ#RoPBf)*rCTc5oH72iGPo($X^HVgF?`s$&Jr60HS{R(>ig54$>A zSm)hRCdsl7mLtu9Jcl`}Y|_p0s?NM?Iw3QNGf~{RDC1|mV9c28@Z(Ea`iHig!uOJP zfYv8){|JPdt=u{RvE#QMxv*6ILD#71bl&HeS$=s2gkBp{x{UXf*e^A6|& zz+#jzY@wEy#U^W6Dh#OYk_6wLFGYuYYTdY&rk4~fkK;fe;rJm^bI@iodFh804IQz`uKB;%);E&Un&jC0OyM$eydr=vj#Qw(z9clvO9 zC%kOtRyZ>md;8RLy=DGRM$X}_P@K_v=XmV)sboQ4BP~x_e3lrX9HYZ^y(XjXC0_qa z46UeWa8^m}qL~ywTB%0JJ$~lurwv79xMwC8(K@N-s~diPYF(Y3F@i&)eoFA7<-LA# zBewKE!#@sPRWzgj1^tiVz3{T7K9Am+nG1!tcYtqiKIqz#9Koz1UK|C(JFOjec&f$B z-i`n^!*9@WPD3UJ9H}p~n#5_~DShYES2<8^wqRnASDFgf3I~=haBp!GOboQXeu`s$ zk`p{e|8m)y*4B*8;Cs_2(oY*7Bd93I>5K2&oIP>ul1(od{nnlZ;elUoN3VcnZGGe1 zn7&Z+LmtLr{WPHPg^4acE4kXx+xs}YGkIQXWw0UcyDRm5(7iP_UuyT@;NbAo)Kp8D z)$D4Yung-^&jM>z!HfNS%ySP?Qsm+`;sN{b&~? zyUSK_x1VwJjmD=_|BRLEi<~Fu&@kjkon?G>3Qh{C9HH!sfPDA6FDue)2cj6o6?b_{ zOoR8*?5l8yZ(_kuJ*Avs70y*wi9s|vKqj6at#wK~Es8Yj1GOWWV;cT?&wv!agwRXs z?MVZ)Xf@%VB;#Cg=Y$*HFuH7w*a zaw{OGyJPR@Ajw-GbpLP~ zpg|$M36MszW8;+guyjZlj#V@Z3j-;Ur|(elAmp^Ro54%7dF@)K`*3?6MR6~=4uI!` z%@vtQ8oO^(2btl%Rxmt4?SA*`&gGMYc8W|tlL{yRMLMI)Ni4T+i#S4-qT?K9 z5YF`m(9S4<<7ouYK)n$URBgnM;HSY@Bx6uJ3>bfL0&I+;fI_DMQ1mu^pr?COcxNfr zw%V5s$=U~7oaV&FaSKnkr5nPgS+bBBB>ZbU#Q??|plJ<+lR8QU3wQXUzrSUzQ!|Bf z2P7ej9iGl$T9*VaD^}5P0iX>kFA_jBV|eA$2xjC75G`DK{Q~)XdwzbtsB24j`oH4v zyz+7je(CiQuDOb)Yd$`zD$r(z*wnAgIYiBOQNg@(Zq=r5A^y)XFGF;^CqC10Ju+|a zi*|L#jz@IHd!3(x;(LW96CH9A!t)&N!(zn_NAPa=yY-u6kTXdTQ$p@bFWS5XNM*fR z4w(Jw`uthy{*)~^ASDonhSwNLAQUhcMz|E4MsnaO3zi3OfV^UMwRs@jV}R7JTE8Ht zLpYy_a62~Q( zXxeu8-Kjs(xP&_`8gU0>^wM25-HhjVjXus$Nv#LQanK>{!aMrVgxr~sn0Wff(*G-Y z#!5qu5%y+iN^Y>c8gzQFv(p$PRq@mNj466n#Qi)ptlS^aOG(~pgpN&k=Pp2QQ4%_G zeSJr{IiCZ_s3NXB@`d@|n<@Yv=vK0SPEr7`842+K`Ml_1j0{IZ+wJ>XhUY|@@X;d+ zxsbyh0&0kWB(fskF7K3e`@$#>H2Uz0B?gMVAoa1Z??OGa`Gj-GFW>!$`Y3jOU5&kS zgQdv7RX03yy?B77 zh_0J3f=>oI@!KcRXQsPeAH9DuvMBL)@nHlSWIuk7y+GnRK0Y3LKP)V*W=@FnABCKE z#gjk!-%Oyy-Y?TX`4RTFd-o%8_$Aob9R*pJaucW$GG7t$$c*&^Auv2K4RPIX-~I4M z7Qt`i(0b<@8-W-gTN*u-Gp%OOWWKP+7RnAW78{V^RJ5tLPaP_Y`vC_-XDbm~`er2+ zlJr$8I`=z3QKR`9wHRb3lod~Om%WMMplLhpj=vxwKSpDbM$#}Y|2X(ik#+llHnv3s z(1f050%vZnKl~cZ0T{dRg9218fI=Bwi2jsc|5^0=r{wRe@Fw(XYWzWxBb1#Y&_;@a zIyhg-*;t92c_#}ltPjPQM~_qw9aL8r8Xp_m4g|Sz<3=jPW{g5%cHV#Z2^b8n=1YZU zN(0vR*pNOWR4ym`&U<3r1nDCpaw5L(-$39e1$3rJ{Md%%!2lji;Ba91fEwXj++UhE?33d5N-qTwaA?8eDqzxTYe{y@`hDjs}_ z`%P%xN`g<3JTkbj;0+Cc1{h(%J%y`41lTU`7$YYka-H1GQSp|e9jI|cXR;jp(BTUc zt^B(928r~x-#zEiQ{D4E9M`{;`^Nn$i7N`?o@e^SF(GtaHEQ5b>-Z8%`V|!w>fLF| z+LOgE0+_=eculsvcRGE0o@tt6B;8B_A&Xq~3+0A-`1wHUkDiJxF=C=57# zcj)Owg607gLsXHBTjUwC(Ea3MAqH00;4E8d5e?|#RTYknAu9F*ENg%Yg}Y?ZlP~>IA>t_hB_no*i=w$ zZ6W_ZmD*6d+bb1oAl`J=DdHK_SlB01VD?BQCcOX}cIGo_by}N|Z^xli#12tX_OKp1 zmX2o|G;nZu&A~5UETBh3w5naljwOJ=EURHxtBQ{D8lpD&FCTuSHWXIR9Kl2LWiQ$) z+zbzsZ&TY~Hk@mj4z~|*y~&9+%ryJSh%BBaGicPB$t~Tdm)#D1tn+A)1GHM?72QJX z`7Lt^%QMCNf}*G!+LnS^xNLN|ab~7v1q|^tTf!r3+pwc7I}OJKy5+Sf2w+6ue>a z^zT5g_@zgG&(N~TLBTNS868gpbE_%}^FzMA=KOS7Cnp;(E#C`Arz1aaMtYJy?~}6l<;xlM+W;|O0B~57usn>{Q(tidLFISkrxaj?nZ`X zpjBCSo0|5oz9Ow9%8P|)E7+9url<&}mT1_1KrPNr>{jL#)7w{&VYEBlrB#b|kHU>z z)Dap@C53HQCnx)B(3eB$5odRsx>ky&r}P9rXdW58V2XjW4np8Ab`-Fj^65dRka&@q zPhFYZ<-eOFn>G@83}oPy$@f%h&tqq6x!0y6PwX=$lwV%fghTE>7oi_YeqO@z6wj*cQikV45o#lI1|$&>12DfgJ_2=Wh>dJ##@czC$#3pe_vP9vV#E;ctEa zM3N@n{SqCH7o5rTgsg_&B0skOMzE54nHpUd%lZt|w-+oi*&<$+@0yL4Ea=aGm8&n+ zWC_ol7Z7yYvDlG{r}PJ`lTU{KJ^osZ=?HBS>P4GZ zv;sqW8B^T7bi&$FbK%W(pFbMXaUk~E`S159QAX{c{)Dh-md;mixzgES_Ukj% z>v72ABDoIir9cU8K_pych!sCeH;qm$)8m*#zEYBmkYQ*!%qANL*3FmNWhr!QBZz_( zMz#{k+?x0B0eFTgtuMbqEBJczSRToZr?5m$de`INY*zCgFu(SPc~|R_c`IcNu7xHW zZEBp-i;ot@u7Zr|tU2Fq?bImB&YoPF-W-MG9fsnLN{ZR8$1L#!Ne5&!ZI|y=aQolV zp!qVGCpxnQ_JhjMEXqD!F zrygAyd~1GSO5D*}c5E~cZ=5e9?bHGQovaJT4-{X+~oofF(l>Z<#ElkB= zFu|?MFt>n)q5tO@)$w8&Xi7DkHdeso{y@pwycHltxyiRWhZZ5(0pKX5arBagKDY|t zHrQK~^?wd<{h#JgRr-LDV4d25r=sX-2?swv-xW00>l<@eKli*Y5q}R8{kxA&Te=M4 z%i36HE^Qpw(W1IP8x=o|=%Z)qVX6dR7cTOY1%HbE^$!C5|M4DAga$+KZWy9lULW85 zPsG=16rjEVGYfO0Ct&0hDl9Dv3k(1Ek<+=(+>5PYaPsqCLVSGIP1a4YpC*|)8}Np{s^);ndXEg{2+M=ZEn!0HD6mKuR3hNsyS9gpdZI@TQI=gc zW_wUpS}Mf~{K0wCC?N3g7rQa4xP*z?>p>Ybb@ea;p2x+<$HU<1z1c|^X(r~Tq0{Z! z#Py-(e|w(49XxI6jj__|O76v`XG6-Ka=YW8MMo|2WkJA0>)V<>nr1M9*DOH=2E~D9 zA9z&VXtF|CgL!A#JaaN1jM~y5gTgXxoRAMKe*f>2%ti;{#3EWtO!JP_5lsaQ`o{h* z!@elxJ12gr(}E5VTR3=e>@Oe|LE;&md>Iq6E9s0Hr{QUGld{gA|3LK_5u62jHWeVu(?T&%-VH%XaH=Xq zf~Z}mv5O1NhrrxfaH}dz3by<`4$t;`9DZs+DCNIlV6HUe#8pHa^8VL^{qH@?m`VE8 z2SN7Fn8Q&2*bX;{2_24LK#tjvjl z&yGT!t*p+vY!p`=kcti|yPG@ZevEc89x*4g3|fIrFz=}OjNM9t*%LTRqowmO^gSw0 z=G(pZdR7j{S%C4wfKh1He_*(%sH!-lh)ax*zYv=YRwirngY(c&F^T_m>dFRu(1~31 zxxZ>Cz9-9ANiCl36i|ucCrzyjFfb0X+!|4SkK%`(SC$94@}%^sJvhJkvO|FS6CyVn z-OPQP#MVZa*w2|pp<6Z2P1w!%EG{nEqsC}l%p8d z*ho^!;V8u2uRnigp$C2J+s_=+KYftoYp&&KP-@EFGkS)8Kj5%clXSz_ByM?I&rh^G zdfp#mYkiZSX?3!nBq|O5OT2L7ISA~;F8V<))zvF;4< z++|?gDLB_ENcIq%^Xi#jpJRh6;IKvYTQ$w;8xNA$#Wc755WQe*4&NL3TFw;RLf!e- zTeYVU94<4XeA{xsWa&BF zxUr;1riBiHlw0ZmwE#>FqHai03WAN+uz(3%pw~64_31Ih=yUkp>OdYrK0ih(nk?CS z0oN}*2l>s)GwQK>u4$wB?LAXx#Rhx`x8O@Jky8J)av0}8jw^l8w>dTN^W)EhxInbi zX7AOuis-bz4(J&n1k(J^|$>3Sayc_$_4bBkg%wEYp`3Q1Ur0Q(oDaq

;B9o9T9^cs^@(v?$V&^X34HTj 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 literal 0 HcmV?d00001 diff --git a/AircraftCarrier/AircraftCarrier/Resources/ArrowRight.png b/AircraftCarrier/AircraftCarrier/Resources/ArrowRight.png new file mode 100644 index 0000000000000000000000000000000000000000..0fd31f118ab0fc5e77f9023bae865a300247d36e GIT binary patch literal 20306 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 T5t#syKwVO}av@U=^Vk0e+7EU5 literal 0 HcmV?d00001 -- 2.25.1 From 5db329405bb47335024e9372d85daab40a1ed45f Mon Sep 17 00:00:00 2001 From: Hells Hound Date: Sun, 11 Sep 2022 10:27:51 +0400 Subject: [PATCH 3/8] =?UTF-8?q?=D0=A2=D1=80=D0=B5=D1=82=D0=B8=D0=B9=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82.=2070%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AircraftCarrier/FormWarship.Designer.cs | 4 ++++ .../AircraftCarrier/FormWarship.cs | 23 ++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs b/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs index 7081603..5cfbd12 100644 --- a/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs +++ b/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs @@ -101,6 +101,7 @@ this.buttonDown.TabIndex = 3; this.buttonDown.Text = " "; this.buttonDown.UseVisualStyleBackColor = true; + this.buttonDown.Click += new System.EventHandler(this.ButtonMove_Click); // // buttonUp // @@ -112,6 +113,7 @@ this.buttonUp.TabIndex = 4; this.buttonUp.Text = " "; this.buttonUp.UseVisualStyleBackColor = true; + this.buttonUp.Click += new System.EventHandler(this.ButtonMove_Click); // // buttonLeft // @@ -123,6 +125,7 @@ this.buttonLeft.TabIndex = 5; this.buttonLeft.Text = " "; this.buttonLeft.UseVisualStyleBackColor = true; + this.buttonLeft.Click += new System.EventHandler(this.ButtonMove_Click); // // buttonRight // @@ -134,6 +137,7 @@ this.buttonRight.TabIndex = 6; this.buttonRight.Text = " "; this.buttonRight.UseVisualStyleBackColor = true; + this.buttonRight.Click += new System.EventHandler(this.ButtonMove_Click); // // FormWarship // diff --git a/AircraftCarrier/AircraftCarrier/FormWarship.cs b/AircraftCarrier/AircraftCarrier/FormWarship.cs index 62d744d..42e717e 100644 --- a/AircraftCarrier/AircraftCarrier/FormWarship.cs +++ b/AircraftCarrier/AircraftCarrier/FormWarship.cs @@ -27,11 +27,32 @@ namespace AircraftCarrier Random rnd = new(); _warship = new DrawingWarship(); _warship.Init(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) + _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}"; Draw(); } + + private void ButtonMove_Click(object sender, EventArgs e) + { + string name = ((Button)sender)?.Name ?? string.Empty; + switch (name) + { + case "buttonUp": + _warship?.MoveTransport(Direction.Up); + break; + case "buttonDown": + _warship?.MoveTransport(Direction.Down); + break; + case "buttonLeft": + _warship?.MoveTransport(Direction.Left); + break; + case "buttonRight": + _warship?.MoveTransport(Direction.Right); + break; + } + Draw(); + } } } \ No newline at end of file -- 2.25.1 From 714420d7261d96d7f4dc3ae3d2df0cd578bb9505 Mon Sep 17 00:00:00 2001 From: Hells Hound Date: Sun, 11 Sep 2022 10:32:07 +0400 Subject: [PATCH 4/8] =?UTF-8?q?=D0=9A=D0=BE=D0=BC=D0=BC=D0=B8=D1=82=20?= =?UTF-8?q?=D1=87=D0=B5=D1=82=D0=B2=D0=B5=D1=80=D1=82=D1=8B=D0=B9.=2071%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AircraftCarrier/AircraftCarrier/DrawingWarship.cs | 4 ++-- AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs | 2 +- AircraftCarrier/AircraftCarrier/FormWarship.cs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/AircraftCarrier/AircraftCarrier/DrawingWarship.cs b/AircraftCarrier/AircraftCarrier/DrawingWarship.cs index ba51908..447fee2 100644 --- a/AircraftCarrier/AircraftCarrier/DrawingWarship.cs +++ b/AircraftCarrier/AircraftCarrier/DrawingWarship.cs @@ -34,11 +34,11 @@ namespace AircraftCarrier ///

/// Ширина отрисовки военного корабля /// - private readonly int _warshipWidth = 80; + private readonly int _warshipWidth = 94; /// /// Высота отрисовки военного корабля /// - private readonly int _warshipHeight = 50; + private readonly int _warshipHeight = 40; /// /// Инициализация свойств /// diff --git a/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs b/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs index 5cfbd12..16e926d 100644 --- a/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs +++ b/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs @@ -89,7 +89,7 @@ this.buttonCreate.TabIndex = 2; this.buttonCreate.Text = "Create"; this.buttonCreate.UseVisualStyleBackColor = true; - this.buttonCreate.Click += new System.EventHandler(this.buttonCreate_Click); + this.buttonCreate.Click += new System.EventHandler(this.ButtonCreate_Click); // // buttonDown // diff --git a/AircraftCarrier/AircraftCarrier/FormWarship.cs b/AircraftCarrier/AircraftCarrier/FormWarship.cs index 42e717e..9c075a6 100644 --- a/AircraftCarrier/AircraftCarrier/FormWarship.cs +++ b/AircraftCarrier/AircraftCarrier/FormWarship.cs @@ -22,7 +22,7 @@ namespace AircraftCarrier /// /// /// - private void buttonCreate_Click(object sender, EventArgs e) + private void ButtonCreate_Click(object sender, EventArgs e) { Random rnd = new(); _warship = new DrawingWarship(); -- 2.25.1 From 7e743b4b3ba209d7273bfebce0c4a0cbc6e97ba9 Mon Sep 17 00:00:00 2001 From: Hells Hound Date: Sun, 11 Sep 2022 11:03:45 +0400 Subject: [PATCH 5/8] =?UTF-8?q?=D0=9A=D0=BE=D0=BC=D0=BC=D0=B8=D1=82=20?= =?UTF-8?q?=D0=BF=D1=8F=D1=82=D1=8B=D0=B9.=20100%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AircraftCarrier/DrawingWarship.cs | 62 ++++++++++++++++++- .../AircraftCarrier/FormWarship.Designer.cs | 24 ++++--- .../AircraftCarrier/FormWarship.cs | 12 +++- 3 files changed, 85 insertions(+), 13 deletions(-) diff --git a/AircraftCarrier/AircraftCarrier/DrawingWarship.cs b/AircraftCarrier/AircraftCarrier/DrawingWarship.cs index 447fee2..e5fdddb 100644 --- a/AircraftCarrier/AircraftCarrier/DrawingWarship.cs +++ b/AircraftCarrier/AircraftCarrier/DrawingWarship.cs @@ -59,13 +59,28 @@ namespace AircraftCarrier /// public void SetPosition(int x, int y, int width, int height) { - // TODO checks _startPosX = x; _startPosY = y; _pictureWidth = width; _pictureHeight = height; - } + if (width < _warshipWidth) + { + width = _warshipWidth; + } + if (height < _warshipHeight) + { + height = _warshipHeight; + } + if(x + _warshipWidth > width) + { + _startPosX -= x + _warshipWidth - width; + } + if (y + _warshipHeight > height) + { + _pictureHeight -= y + _warshipHeight - height; + } + } /// /// Изменение направления пермещения /// @@ -107,7 +122,6 @@ namespace AircraftCarrier } break; } - } /// @@ -116,7 +130,49 @@ namespace AircraftCarrier /// public void DrawTransport(Graphics g) { + if (_startPosX < 0 || _startPosY < 0 + || !_pictureHeight.HasValue || !_pictureWidth.HasValue) + { + return; + } + 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[] curvePoints = + { + point1, point2, point3, point4, point5 + }; + g.DrawPolygon(pen, curvePoints); + + //главная палуба + Brush br = new SolidBrush(Warship?.BodyColor ?? Color.White); + g.FillPolygon(br, curvePoints); + + //мачта + Brush brWhite = new SolidBrush(Color.White); + g.FillEllipse(brWhite, _startPosX + 59, _startPosY + 13, 15, 15); + + //границы мачты + g.DrawEllipse(pen, _startPosX + 59, _startPosY + 13, 15, 15); + + //палуба + g.FillRectangle(brWhite, _startPosX + 44, _startPosY + 10, 10, 20); + g.FillRectangle(brWhite, _startPosX + 24, _startPosY + 15, 20, 10); + + //границы палуба + g.DrawRectangle(pen, _startPosX + 44, _startPosY + 10, 10, 20); + g.DrawRectangle(pen, _startPosX + 24, _startPosY + 15, 20, 10); + + //двигатели + Brush brBlack = new SolidBrush(Color.Black); + g.FillRectangle(brBlack, _startPosX, _startPosY + 5, 4, 10); + g.FillRectangle(brBlack, _startPosX, _startPosY + 23, 4, 10); } /// diff --git a/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs b/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs index 16e926d..4e7f9f8 100644 --- a/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs +++ b/AircraftCarrier/AircraftCarrier/FormWarship.Designer.cs @@ -47,10 +47,11 @@ this.pictureBoxWarship.Dock = System.Windows.Forms.DockStyle.Fill; this.pictureBoxWarship.Location = new System.Drawing.Point(0, 0); this.pictureBoxWarship.Name = "pictureBoxWarship"; - this.pictureBoxWarship.Size = new System.Drawing.Size(1058, 498); + this.pictureBoxWarship.Size = new System.Drawing.Size(510, 426); this.pictureBoxWarship.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; this.pictureBoxWarship.TabIndex = 0; this.pictureBoxWarship.TabStop = false; + this.pictureBoxWarship.Resize += new System.EventHandler(this.PictureBoxWarship_Resize); // // statusStrip // @@ -58,9 +59,9 @@ this.toolStripStatusLabelSpeed, this.toolStripStatusLabelWeight, this.toolStripStatusLabelBodyColor}); - this.statusStrip.Location = new System.Drawing.Point(0, 498); + this.statusStrip.Location = new System.Drawing.Point(0, 426); this.statusStrip.Name = "statusStrip"; - this.statusStrip.Size = new System.Drawing.Size(1058, 22); + this.statusStrip.Size = new System.Drawing.Size(510, 22); this.statusStrip.TabIndex = 1; // // toolStripStatusLabelSpeed @@ -83,7 +84,8 @@ // // buttonCreate // - this.buttonCreate.Location = new System.Drawing.Point(12, 457); + 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 = 2; @@ -93,9 +95,10 @@ // // buttonDown // + this.buttonDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonDown.BackgroundImage = global::AircraftCarrier.Properties.Resources.ArrowDown; this.buttonDown.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.buttonDown.Location = new System.Drawing.Point(980, 450); + this.buttonDown.Location = new System.Drawing.Point(428, 386); this.buttonDown.Name = "buttonDown"; this.buttonDown.Size = new System.Drawing.Size(30, 30); this.buttonDown.TabIndex = 3; @@ -105,9 +108,10 @@ // // buttonUp // + this.buttonUp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonUp.BackgroundImage = global::AircraftCarrier.Properties.Resources.ArrowUp; this.buttonUp.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.buttonUp.Location = new System.Drawing.Point(980, 414); + this.buttonUp.Location = new System.Drawing.Point(428, 350); this.buttonUp.Name = "buttonUp"; this.buttonUp.Size = new System.Drawing.Size(30, 30); this.buttonUp.TabIndex = 4; @@ -117,9 +121,10 @@ // // buttonLeft // + this.buttonLeft.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonLeft.BackgroundImage = global::AircraftCarrier.Properties.Resources.ArrowLeft; this.buttonLeft.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.buttonLeft.Location = new System.Drawing.Point(944, 450); + this.buttonLeft.Location = new System.Drawing.Point(392, 386); this.buttonLeft.Name = "buttonLeft"; this.buttonLeft.Size = new System.Drawing.Size(30, 30); this.buttonLeft.TabIndex = 5; @@ -129,9 +134,10 @@ // // buttonRight // + this.buttonRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonRight.BackgroundImage = global::AircraftCarrier.Properties.Resources.ArrowRight; this.buttonRight.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.buttonRight.Location = new System.Drawing.Point(1016, 450); + this.buttonRight.Location = new System.Drawing.Point(464, 386); this.buttonRight.Name = "buttonRight"; this.buttonRight.Size = new System.Drawing.Size(30, 30); this.buttonRight.TabIndex = 6; @@ -143,7 +149,7 @@ // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1058, 520); + this.ClientSize = new System.Drawing.Size(510, 448); this.Controls.Add(this.buttonRight); this.Controls.Add(this.buttonLeft); this.Controls.Add(this.buttonUp); diff --git a/AircraftCarrier/AircraftCarrier/FormWarship.cs b/AircraftCarrier/AircraftCarrier/FormWarship.cs index 9c075a6..3866bc7 100644 --- a/AircraftCarrier/AircraftCarrier/FormWarship.cs +++ b/AircraftCarrier/AircraftCarrier/FormWarship.cs @@ -33,7 +33,7 @@ namespace AircraftCarrier toolStripStatusLabelBodyColor.Text = $": {_warship.Warship.BodyColor.Name}"; Draw(); } - + private void ButtonMove_Click(object sender, EventArgs e) { string name = ((Button)sender)?.Name ?? string.Empty; @@ -54,5 +54,15 @@ namespace AircraftCarrier } Draw(); } + /// + /// + /// + /// + /// + private void PictureBoxWarship_Resize(object sender, EventArgs e) + { + _warship?.ChangeBorders(pictureBoxWarship.Width,pictureBoxWarship.Height); + Draw(); + } } } \ No newline at end of file -- 2.25.1 From 614a721e048f9d1e81e39cc04b4831e9e3bee34e Mon Sep 17 00:00:00 2001 From: Hells Hound Date: Wed, 21 Sep 2022 09:04:26 +0400 Subject: [PATCH 6/8] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AircraftCarrier/DrawingWarship.cs | 25 +++++-------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/AircraftCarrier/AircraftCarrier/DrawingWarship.cs b/AircraftCarrier/AircraftCarrier/DrawingWarship.cs index e5fdddb..d1ba1a3 100644 --- a/AircraftCarrier/AircraftCarrier/DrawingWarship.cs +++ b/AircraftCarrier/AircraftCarrier/DrawingWarship.cs @@ -59,27 +59,14 @@ namespace AircraftCarrier /// public void SetPosition(int x, int y, int width, int height) { - _startPosX = x; - _startPosY = y; - _pictureWidth = width; - _pictureHeight = height; - - if (width < _warshipWidth) + if (width >= x + _warshipWidth && height >= y + _warshipHeight && x >= 0 && y >= 0) { - width = _warshipWidth; - } - if (height < _warshipHeight) - { - height = _warshipHeight; - } - if(x + _warshipWidth > width) - { - _startPosX -= x + _warshipWidth - width; - } - if (y + _warshipHeight > height) - { - _pictureHeight -= y + _warshipHeight - height; + _startPosX = x; + _startPosY = y; + _pictureWidth = width; + _pictureHeight = height; } + else return; } /// /// Изменение направления пермещения -- 2.25.1 From 6eb7548f3e12033d8dfa8d14e4cfd4322d3379c4 Mon Sep 17 00:00:00 2001 From: Hells Hound Date: Wed, 21 Sep 2022 09:29:12 +0400 Subject: [PATCH 7/8] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=D0=B0=20?= =?UTF-8?q?=D0=BB=D0=B8=D1=88=D0=BD=D0=B5=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AircraftCarrier/AircraftCarrier/DrawingWarship.cs | 3 +-- AircraftCarrier/AircraftCarrier/FormWarship.cs | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/AircraftCarrier/AircraftCarrier/DrawingWarship.cs b/AircraftCarrier/AircraftCarrier/DrawingWarship.cs index d1ba1a3..6053857 100644 --- a/AircraftCarrier/AircraftCarrier/DrawingWarship.cs +++ b/AircraftCarrier/AircraftCarrier/DrawingWarship.cs @@ -65,8 +65,7 @@ namespace AircraftCarrier _startPosY = y; _pictureWidth = width; _pictureHeight = height; - } - else return; + } } /// /// Изменение направления пермещения diff --git a/AircraftCarrier/AircraftCarrier/FormWarship.cs b/AircraftCarrier/AircraftCarrier/FormWarship.cs index 3866bc7..2e6b037 100644 --- a/AircraftCarrier/AircraftCarrier/FormWarship.cs +++ b/AircraftCarrier/AircraftCarrier/FormWarship.cs @@ -23,7 +23,7 @@ namespace AircraftCarrier /// /// private void ButtonCreate_Click(object sender, EventArgs e) - { + { Random rnd = new(); _warship = new DrawingWarship(); _warship.Init(rnd.Next(100, 300), rnd.Next(1000, 2000), Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256))); -- 2.25.1 From 9671af356a857715e2ccae7526946775c9efea36 Mon Sep 17 00:00:00 2001 From: Hells Hound Date: Fri, 30 Sep 2022 19:27:51 +0400 Subject: [PATCH 8/8] =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D0=BD=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D1=8C=D1=8E=20=D0=B3=D0=BE=D1=82=D0=BE=D0=B2=D0=B0=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AircraftCarrier/AircraftCarrier/EntityWarship.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/AircraftCarrier/AircraftCarrier/EntityWarship.cs b/AircraftCarrier/AircraftCarrier/EntityWarship.cs index 2c0f4f5..7df4666 100644 --- a/AircraftCarrier/AircraftCarrier/EntityWarship.cs +++ b/AircraftCarrier/AircraftCarrier/EntityWarship.cs @@ -40,7 +40,5 @@ namespace AircraftCarrier Weight = weight <= 0 ? rnd.Next(40, 70) : weight; BodyColor = bodyColor; } - - } } -- 2.25.1