From 094cb0cbabe126b9da7c7e7796bbd2401339c88e Mon Sep 17 00:00:00 2001 From: victinass Date: Sat, 3 Feb 2024 20:47:38 +0400 Subject: [PATCH 1/5] =?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=20=E2=84=961?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Battleship/Battleship/Battleship.csproj | 15 ++ Battleship/Battleship/DirectionType.cs | 27 ++ Battleship/Battleship/DrawingBattleship.cs | 250 ++++++++++++++++++ Battleship/Battleship/EntityBattleship.cs | 63 +++++ Battleship/Battleship/Form1.Designer.cs | 39 --- Battleship/Battleship/Form1.cs | 10 - .../Battleship/FormBattleship.Designer.cs | 134 ++++++++++ Battleship/Battleship/FormBattleship.cs | 79 ++++++ Battleship/Battleship/FormBattleship.resx | 211 +++++++++++++++ Battleship/Battleship/Program.cs | 2 +- .../Properties/Resources.Designer.cs | 93 +++++++ .../{Form1.resx => Properties/Resources.resx} | 10 + Battleship/Battleship/Resources/arrowDown.png | Bin 0 -> 4866 bytes Battleship/Battleship/Resources/arrowLeft.png | Bin 0 -> 3859 bytes .../Battleship/Resources/arrowRight.png | Bin 0 -> 3986 bytes 15 files changed, 883 insertions(+), 50 deletions(-) create mode 100644 Battleship/Battleship/DirectionType.cs create mode 100644 Battleship/Battleship/DrawingBattleship.cs create mode 100644 Battleship/Battleship/EntityBattleship.cs delete mode 100644 Battleship/Battleship/Form1.Designer.cs delete mode 100644 Battleship/Battleship/Form1.cs create mode 100644 Battleship/Battleship/FormBattleship.Designer.cs create mode 100644 Battleship/Battleship/FormBattleship.cs create mode 100644 Battleship/Battleship/FormBattleship.resx create mode 100644 Battleship/Battleship/Properties/Resources.Designer.cs rename Battleship/Battleship/{Form1.resx => Properties/Resources.resx} (86%) create mode 100644 Battleship/Battleship/Resources/arrowDown.png create mode 100644 Battleship/Battleship/Resources/arrowLeft.png create mode 100644 Battleship/Battleship/Resources/arrowRight.png diff --git a/Battleship/Battleship/Battleship.csproj b/Battleship/Battleship/Battleship.csproj index 663fdb8..af03d74 100644 --- a/Battleship/Battleship/Battleship.csproj +++ b/Battleship/Battleship/Battleship.csproj @@ -8,4 +8,19 @@ enable + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/Battleship/Battleship/DirectionType.cs b/Battleship/Battleship/DirectionType.cs new file mode 100644 index 0000000..7a4b742 --- /dev/null +++ b/Battleship/Battleship/DirectionType.cs @@ -0,0 +1,27 @@ +namespace Battleship; +/// +/// +/// +public enum DirectionType +{ + /// + /// Вверх + /// + Up = 1, + + /// + /// Вниз + /// + Down = 2, + + /// + /// Влево + /// + Left = 3, + + /// + /// Вправо + /// + Right = 4 + +} diff --git a/Battleship/Battleship/DrawingBattleship.cs b/Battleship/Battleship/DrawingBattleship.cs new file mode 100644 index 0000000..ab9bcb5 --- /dev/null +++ b/Battleship/Battleship/DrawingBattleship.cs @@ -0,0 +1,250 @@ +namespace Battleship; +/// +/// Класс, отвечающий за отрисовку и перемещение объекта-сущности +/// +public class DrawingBattleship +{ + + /// + /// Класс-сущность + /// + public EntityBattleship? EntityBattleship { get; private set; } + + /// + /// Ширина + /// + private int? _pictureWidth; + + /// + /// Высота + /// + private int? _pictureHeight; + + /// + /// Левая координата прорисовки линкора + /// + private int? _startPosX; + + /// + /// Верхняя координата прорисовки линкора + /// + private int? _startPosY; + + /// + /// Ширина прорисовки линкора + /// + private readonly int _drawingBattleshipWidth = 120; + + /// + /// Высота прорисовки линкора + /// + private readonly int _drawingBattleshipHeight = 80; + + /// + /// + /// + /// Скорость + /// Вес + /// Основной цвет + /// Дополнительный цвет + /// Признак наличия палубы + /// Признак наличия отсека для ракет + /// Признак наличия башни + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool bodyDeck, bool compartment, bool tower) + { + EntityBattleship = new EntityBattleship(); + EntityBattleship.Init(speed, weight, bodyColor, additionalColor, bodyDeck, compartment, tower); + _pictureWidth = null; + _pictureHeight = null; + _startPosX = null; + _startPosY = null; + } + + + /// + /// + /// + /// Ширина поля + /// Высота поля + /// true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах + + public bool SetPictureSize(int width, int height) + { + //TODO проверка, что объект "влезает" в размеры поля + //если влезает, сохраняем границы и корректируем позицию объекта, если она уже была установлена + _pictureWidth = width; + _pictureHeight = height; + if (_pictureWidth <= _drawingBattleshipWidth || _pictureHeight <= _drawingBattleshipHeight) + { + _pictureHeight = null; + _pictureWidth = null; + return false; + } + if (_startPosX + _drawingBattleshipWidth > _pictureWidth) + { + _startPosX = _pictureWidth.Value - _drawingBattleshipWidth; + } + if (_startPosY + _drawingBattleshipHeight > _pictureHeight) + { + _startPosY = _pictureHeight.Value - _drawingBattleshipHeight; + } + return true; + } + + /// + /// Установка позиции + /// + /// Координата X + /// Координата Y + + public void SetPosition(int x, int y, int width, int height) + { + // TODO если при установке объекта в эти координаты, он будет "выходить" за границы формы + // то надо изменить координаты, чтобы он оставался в этих границах + if (x >= 0 && x + _drawingBattleshipWidth <= width && y >= 0 && y + _drawingBattleshipWidth <= height) + { + _startPosX = x; + _startPosY = y; + _pictureWidth = width; + _pictureHeight = height; + } + + } + + /// + /// Изменение направления перемещения + /// + /// Направление + /// true - перемещение выполнено, false - перемещение невозможно + + public bool MoveTransport(DirectionType direction) + { + if (EntityBattleship == null || !_startPosX.HasValue || !_startPosY.HasValue) + { + return false; + } + + switch (direction) + { + //влево + case DirectionType.Left: + if (_startPosX.Value - EntityBattleship.Step > 0) + { + _startPosX -= (int)EntityBattleship.Step; + } + return true; + + //вправо + case DirectionType.Right: + if (_startPosX.Value + EntityBattleship.Step + _drawingBattleshipWidth < _pictureWidth) + { + _startPosX += (int)EntityBattleship.Step; + } + return true; + + //вверх + case DirectionType.Up: + if (_startPosY.Value - EntityBattleship.Step > 0) + { + _startPosY -= (int)EntityBattleship.Step; + } + return true; + + //вниз + case DirectionType.Down: + if (_startPosY.Value + EntityBattleship.Step + _drawingBattleshipHeight < _pictureHeight) //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + { + _startPosY += (int)EntityBattleship.Step; + } + return true; + + default: + return false; + } + + } + + /// + /// Прорисовка объекта + /// + /// + + public void DrawTransport(Graphics g) + { + if (EntityBattleship == null || !_startPosX.HasValue || !_startPosY.HasValue) + { + return; + } + + Pen pen = new(Color.Black); + Brush additionalBrush = new SolidBrush(EntityBattleship.AdditionalColor); + + //заливка линкора + Brush br = new SolidBrush(EntityBattleship.BodyColor); + g.FillRectangle(br, _startPosX.Value + 10, _startPosY.Value, 80, 40); + //границы линкора + g.DrawRectangle(pen, _startPosX.Value + 10, _startPosY.Value, 80, 40); //ширина высота (сама палуба) + + //заливка двигателей (2 фигни сзади) + Brush brBlack = new SolidBrush(Color.Black); + g.FillRectangle(brBlack, _startPosX.Value + 5, _startPosY.Value + 7, 5, 10); //верхний + g.FillRectangle(brBlack, _startPosX.Value + 5, _startPosY.Value + 22, 5, 10); //нижний + //границы двигателей + g.DrawRectangle(pen, _startPosX.Value + 5, _startPosY.Value + 7, 5, 10); //двигатель верхний + g.DrawRectangle(pen, _startPosX.Value + 5, _startPosY.Value + 22, 5, 10); //двигатель нижний + + //прямоугольник левый на палубе (горизонтальный) + Brush brLightSteelBlue = new SolidBrush(Color.LightSteelBlue); + g.FillRectangle(brLightSteelBlue, _startPosX.Value + 32, _startPosY.Value + 13, 21, 12); + g.DrawRectangle(pen, _startPosX.Value + 32, _startPosY.Value + 13, 21, 12); + + //прямоугольник правый на палубе (вертикальный) + Brush brGray = new SolidBrush(Color.Gray); + g.FillRectangle(brGray, _startPosX.Value + 53, _startPosY.Value + 7, 16, 24); + g.DrawRectangle(pen, _startPosX.Value + 53, _startPosY.Value + 7, 16, 24); + + //линии для треугольника + Point[] pointsNOS = + { + new Point(_startPosX.Value + 90, _startPosY.Value), + new Point(_startPosX.Value + 120, _startPosY.Value + 20), + new Point(_startPosX.Value + 90, _startPosY.Value + 40), + + }; + g.DrawPolygon(pen, pointsNOS); + g.FillPolygon(br, pointsNOS); + + //заливка круга + Brush brLightSlateGray = new SolidBrush(Color.LightSlateGray); + g.FillEllipse(brLightSlateGray, _startPosX.Value + 78, _startPosY.Value + 12, 15, 15); + //круг на палубе + g.DrawEllipse(pen, _startPosX.Value + 78, _startPosY.Value + 12, 15, 15); + + //ПРОВЕРКА + + if (EntityBattleship.Compartment) + { + //отсеки для ракет + //заливка отсеков + + g.FillRectangle(additionalBrush, _startPosX.Value + 15, _startPosY.Value + 5, 27, 5); //верхний отсек для ракет + g.FillRectangle(additionalBrush, _startPosX.Value + 15, _startPosY.Value + 28, 27, 5); //нижний отсек для ракет + + //границы отсеков + g.DrawRectangle(pen, _startPosX.Value + 15, _startPosY.Value + 5, 27, 5); //верхний отсек + g.DrawRectangle(pen, _startPosX.Value + 15, _startPosY.Value + 28, 27, 5); //нижний отсек + + } + + if (EntityBattleship.Tower) + { + //заливка башни + g.FillEllipse(additionalBrush, _startPosX.Value + 98, _startPosY.Value + 15, 10, 10); + g.FillRectangle(additionalBrush, _startPosX.Value + 107, _startPosY.Value + 17, 30, 5); + + //границы башни + g.DrawEllipse(pen, _startPosX.Value + 98, _startPosY.Value + 15, 10, 10); + g.DrawRectangle(pen, _startPosX.Value + 107, _startPosY.Value + 17, 30, 5); + } + } +} diff --git a/Battleship/Battleship/EntityBattleship.cs b/Battleship/Battleship/EntityBattleship.cs new file mode 100644 index 0000000..3c494f9 --- /dev/null +++ b/Battleship/Battleship/EntityBattleship.cs @@ -0,0 +1,63 @@ +namespace Battleship; + +/// +/// Класс-сущность Линкор +/// +public class EntityBattleship +{ + /// + /// Скорость + /// + public int Speed { get; private set; } + /// + /// Вес + /// + public double Weight { get; private set; } + /// + /// Основной цвет + /// + public Color BodyColor { get; private set; } + /// + /// Дополнительный цвет (для опциональных элементов) + /// + public Color AdditionalColor { get; private set; } + /// + /// Признак (опция) наличия палубы + /// + public bool BodyDeck { get; private set; } + /// + /// Признак (опция) отсека для ракет + /// + public bool Compartment { get; private set; } + /// + /// Признак (опция) наличия башни + /// + public bool Tower { get; private set; } + /// + /// Перемещение линкора + /// + public double Step => Speed * 100 / Weight; + + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool bodyDeck, bool compartment, bool tower) + { + Speed = speed; + Weight = weight; + BodyColor = bodyColor; + AdditionalColor = additionalColor; + BodyDeck = bodyDeck; + Compartment = compartment; + Tower = tower; + } +} + + diff --git a/Battleship/Battleship/Form1.Designer.cs b/Battleship/Battleship/Form1.Designer.cs deleted file mode 100644 index 18ae06a..0000000 --- a/Battleship/Battleship/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace Battleship -{ - 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 - } -} diff --git a/Battleship/Battleship/Form1.cs b/Battleship/Battleship/Form1.cs deleted file mode 100644 index 1d6c6e1..0000000 --- a/Battleship/Battleship/Form1.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Battleship -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} diff --git a/Battleship/Battleship/FormBattleship.Designer.cs b/Battleship/Battleship/FormBattleship.Designer.cs new file mode 100644 index 0000000..337e640 --- /dev/null +++ b/Battleship/Battleship/FormBattleship.Designer.cs @@ -0,0 +1,134 @@ +namespace Battleship +{ + partial class FormBattleship + { + /// + /// 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() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormBattleship)); + pictureBoxBattleship = new PictureBox(); + buttonCreate = new Button(); + buttonLeft = new Button(); + buttonDown = new Button(); + buttonRight = new Button(); + buttonUp = new Button(); + ((System.ComponentModel.ISupportInitialize)pictureBoxBattleship).BeginInit(); + SuspendLayout(); + // + // pictureBoxBattleship + // + pictureBoxBattleship.Location = new Point(0, 0); + pictureBoxBattleship.Name = "pictureBoxBattleship"; + pictureBoxBattleship.Size = new Size(957, 559); + pictureBoxBattleship.TabIndex = 0; + pictureBoxBattleship.TabStop = false; + // + // buttonCreate + // + buttonCreate.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + buttonCreate.Location = new Point(12, 518); + buttonCreate.Name = "buttonCreate"; + buttonCreate.Size = new Size(94, 29); + buttonCreate.TabIndex = 0; + buttonCreate.Text = "Создать"; + buttonCreate.UseVisualStyleBackColor = true; + buttonCreate.Click += buttonCreate_Click; + // + // buttonLeft + // + buttonLeft.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonLeft.BackgroundImage = Properties.Resources.arrowLeft; + buttonLeft.BackgroundImageLayout = ImageLayout.Stretch; + buttonLeft.Location = new Point(819, 512); + buttonLeft.Name = "buttonLeft"; + buttonLeft.Size = new Size(35, 35); + buttonLeft.TabIndex = 3; + buttonLeft.UseVisualStyleBackColor = true; + buttonLeft.Click += buttonMove_Click; + // + // buttonDown + // + buttonDown.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonDown.BackgroundImage = Properties.Resources.arrowDown; + buttonDown.BackgroundImageLayout = ImageLayout.Stretch; + buttonDown.Location = new Point(860, 512); + buttonDown.Name = "buttonDown"; + buttonDown.Size = new Size(35, 35); + buttonDown.TabIndex = 2; + buttonDown.UseVisualStyleBackColor = true; + buttonDown.Click += buttonMove_Click; + // + // buttonRight + // + buttonRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonRight.BackgroundImage = Properties.Resources.arrowRight; + buttonRight.BackgroundImageLayout = ImageLayout.Stretch; + buttonRight.Location = new Point(901, 512); + buttonRight.Name = "buttonRight"; + buttonRight.Size = new Size(35, 35); + buttonRight.TabIndex = 4; + buttonRight.UseVisualStyleBackColor = true; + buttonRight.Click += buttonMove_Click; + // + // buttonUp + // + buttonUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonUp.BackgroundImage = (Image)resources.GetObject("buttonUp.BackgroundImage"); + buttonUp.BackgroundImageLayout = ImageLayout.Stretch; + buttonUp.Location = new Point(860, 471); + buttonUp.Name = "buttonUp"; + buttonUp.Size = new Size(35, 35); + buttonUp.TabIndex = 1; + buttonUp.UseVisualStyleBackColor = true; + buttonUp.Click += buttonMove_Click; + // + // FormBattleship + // + AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(957, 559); + Controls.Add(buttonUp); + Controls.Add(buttonRight); + Controls.Add(buttonDown); + Controls.Add(buttonLeft); + Controls.Add(buttonCreate); + Controls.Add(pictureBoxBattleship); + Name = "FormBattleship"; + Text = "Линкор"; + ((System.ComponentModel.ISupportInitialize)pictureBoxBattleship).EndInit(); + ResumeLayout(false); + } + + #endregion + + private PictureBox pictureBoxBattleship; + private Button buttonCreate; + private Button buttonDown; + private Button buttonRight; + private Button buttonUp; + private Button buttonLeft; + } +} \ No newline at end of file diff --git a/Battleship/Battleship/FormBattleship.cs b/Battleship/Battleship/FormBattleship.cs new file mode 100644 index 0000000..bbdf799 --- /dev/null +++ b/Battleship/Battleship/FormBattleship.cs @@ -0,0 +1,79 @@ +namespace Battleship; +/// +/// Форма работы с объектом Линкор +/// +public partial class FormBattleship : Form +{ + /// + /// Поле\объект для прорисовки объекта + /// + private DrawingBattleship? _drawingBattleship; //поля с нижнего подчеркивания + + public FormBattleship() + { + InitializeComponent(); + } + /// + /// Метод прорисовки машины + /// + //создаем отдельный метод + private void Draw() + { + if (_drawingBattleship == null) + { + return; + } + + Bitmap bmp = new(pictureBoxBattleship.Width, pictureBoxBattleship.Height); + Graphics gr = Graphics.FromImage(bmp); + _drawingBattleship.DrawTransport(gr); + pictureBoxBattleship.Image = bmp; + + } + + private void buttonCreate_Click(object sender, EventArgs e) + { + Random random = new(); + _drawingBattleship = new DrawingBattleship(); + _drawingBattleship.Init(random.Next(100, 300), random.Next(1000, 3000), + Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)), + Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)), + Convert.ToBoolean(random.Next(0, 2)), Convert.ToBoolean(random.Next(0, 2)), Convert.ToBoolean(random.Next(0, 2))); + _drawingBattleship.SetPictureSize(pictureBoxBattleship.Width, pictureBoxBattleship.Height); + _drawingBattleship.SetPosition(random.Next(10, 100), random.Next(10, 100), pictureBoxBattleship.Width, pictureBoxBattleship.Height); + + Draw(); + + } + + private void buttonMove_Click(object sender, EventArgs e) + { + if (_drawingBattleship == null) + { + return; + } + + string name = ((Button)sender)?.Name ?? string.Empty; + bool result = false; + switch (name) + { + case "buttonUp": + result = _drawingBattleship.MoveTransport(DirectionType.Up); + break; + case "buttonDown": + result = _drawingBattleship.MoveTransport(DirectionType.Down); + break; + case "buttonLeft": + result = _drawingBattleship.MoveTransport(DirectionType.Left); + break; + case "buttonRight": + result = _drawingBattleship.MoveTransport(DirectionType.Right); + break; + } + + if (result) + { + Draw(); + } + } +} diff --git a/Battleship/Battleship/FormBattleship.resx b/Battleship/Battleship/FormBattleship.resx new file mode 100644 index 0000000..865aa56 --- /dev/null +++ b/Battleship/Battleship/FormBattleship.resx @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + 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 + + + \ No newline at end of file diff --git a/Battleship/Battleship/Program.cs b/Battleship/Battleship/Program.cs index 48b33ea..4d0e539 100644 --- a/Battleship/Battleship/Program.cs +++ b/Battleship/Battleship/Program.cs @@ -11,7 +11,7 @@ namespace Battleship // 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 FormBattleship()); } } } \ No newline at end of file diff --git a/Battleship/Battleship/Properties/Resources.Designer.cs b/Battleship/Battleship/Properties/Resources.Designer.cs new file mode 100644 index 0000000..c4758f0 --- /dev/null +++ b/Battleship/Battleship/Properties/Resources.Designer.cs @@ -0,0 +1,93 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace Battleship.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("Battleship.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)); + } + } + } +} diff --git a/Battleship/Battleship/Form1.resx b/Battleship/Battleship/Properties/Resources.resx similarity index 86% rename from Battleship/Battleship/Form1.resx rename to Battleship/Battleship/Properties/Resources.resx index 1af7de1..32344b3 100644 --- a/Battleship/Battleship/Form1.resx +++ b/Battleship/Battleship/Properties/Resources.resx @@ -117,4 +117,14 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\arrowRight.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\arrowDown.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/Battleship/Battleship/Resources/arrowDown.png b/Battleship/Battleship/Resources/arrowDown.png new file mode 100644 index 0000000000000000000000000000000000000000..84204b37c93a0d442f807d2a876c1d17edad51f4 GIT binary patch literal 4866 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 K>=o=LpZPC*W95hd literal 0 HcmV?d00001 diff --git a/Battleship/Battleship/Resources/arrowLeft.png b/Battleship/Battleship/Resources/arrowLeft.png new file mode 100644 index 0000000000000000000000000000000000000000..16c62ca975ac2d77462b14c3b35f57886acc5956 GIT binary patch literal 3859 zcmeHJX;jnK62A$XyS4O*4@6W@6cmsmXb^%TkdP1*D5!`85hNm8h+qtX)b^=eKn230 zB;XN}0*V`mAWLi&YuxakB4wxA81iI!5+p1pdG|&?y!W|Zn{#rKxpVK#Z+>^~%zU?t z=C^R3`8)u?LNaM*5CC}i7Z2tb!=H)czsI+pfxa?I0ZSHfjcjq?_= zA}I5@j;i#&tG0jca~;g;>(p#}uE@(!ZPN)IhSP~^-NC``wN7Wx_c`cnHvFU?+Rc< zR%IXiLCOGueTKZ8Oh*B!?owix$>+c+c0MKwu~4M2j^RODT!~^fE3_IeuYHTzSGr1H zS2a1s?S`7ce%6K#Uv>%C5eKsQ_3yZwI@<2|WfcS7DQWoBZBh4U>Y=N(1gOkctH)?{ zt42Fs&joRRj6KXA2k66;U%u(?y1QuO)opAGeI0Z z=7eVlgkd6^fo6x_)Dn^8j#WYFN=Ds*#LDW0$%RWfR*M0eudcPH{2o%OMb)j00!VIjamRz0kqX zs|gk|ms5Th(tiDzQXXP4C>){1BZ-6EKvDwvF_g;KN^OY6K))t{;0B}HCxom|O%5OL zE`mO<25^F4=(pV>N}SYA&kr2NK@e=?q;o1Llu$?Un>u-Mf)ul?Jr`DxJuvf{ZQ_y@!1K{*;l0q_py{ zptNWDh$aMy+RYI#F5E_{uIR|?o?Fa!Q4MoaXwVXi-7Q2(;3l&*g%m{w&Z594iArm9 zeCt4#GrB$9`GU0&+ieA@h~_)%m{hS zo!E(TgC-t7b#E_P`1iy&|3h}G;A4V6V0{GmXOI06;c^{Gt zsAl0ZtBRzYoT53tvCMpxrUyIi=LclZBP#|1#lC(lxq;-+y2a}C&sC8G0=}q4yOF!i z(#rD1(~?_6WxQYGpHHp<**96EDje4!W7O{kgc6wH^k7nV-*Q&hOJQl|X^2{kNnZn=RK zm`Ry2lIYCRUK@B3iQ8sP>1%s9leW=s^1_JrLG19Q5~_T)Bqzh5J+Q%G@IS?oxY+W; zx$nmAoA6q+n&CiR@z9Hp-dp-hrLUbl&MzrqNE>w3*u~4%ZO{HQ@!r?Y3jZ=E2gK$O zNdwzd_8wElbmw7Opv_*@_`BO(RCYs58iRPC5{>??-rjGM?*4FmJA+R z7j~~83A7L)pF%A`6YH!smB8)09lqTwSV1Cg)B&e}4`Gd-Tvvge&MS+Cql(5a4EhDJ zBV8pS%+<{WQcGGm78b--v=WaFn$V9EypwQz`Vi35|#e0+qJ7E%3{8^Kx$gAcf0d?Hf#-t5*vvf zr|zUL7EPl@AydXxElhbXy(MuBfB^I_?3HjNK%Py9;$zv%5Q|qr%fOoXu;aX`AU8V< ze$7fmE^RF-(B{vy_bq~`n@3iPQj>i0htb>F3;(};n|P`gf}CuFFWH}ZlJV?8BH zZP8g7EY1)x33ks<6)xptg^MfCkRNC{aScXC6Emw0hC*CL0;$h&`N5{{W$NJ@wd){R zM@grHko_Hv&WJie8fvM-UX8GkWp5w{BI!zR<4_|2adElV<{w`N%ZrzFdO55h_dR+F zLTw<1cv+1e|Aj;n;tVT5l7M7k3K2E2V3kc7(>e$W;SG+`{PfWrZG>Y-_7&7T&U|Vf zz6Ii|$fmn+zZsm61sB)8Z{)R-Qjw8n_e`AeTpBjDwomk}ZH zX6Uoqn*Z?qOQ;&~w?~&;r#y`U{y46fH>~68gLsJPAK8JIDuteo^RAGbOLt{2LM&b% z;P)6h!sPL8y^xuIB)YeH+;uyAL27YQIn0EgdT-t#;Hddb?H8gvCTCDo>vDCYu6-}t zYZv>w_App>y;9Yp*Oiln(_1*3a3Go$ePUzBDfWK;Ln97nCHS!`M%jR7xjH+jyuDK6 zU6rlcVwdD%2nf?h?G`I5vssTrVWM9izoH#~qV3*QKa^~joZD-96`pN$SEe+&g literal 0 HcmV?d00001 diff --git a/Battleship/Battleship/Resources/arrowRight.png b/Battleship/Battleship/Resources/arrowRight.png new file mode 100644 index 0000000000000000000000000000000000000000..9c6578c23ba670154222b4626aabec8a4b7be59d GIT binary patch literal 3986 zcmeHKYgAKL7Cs?7tO~JpT5Lh0%jMW=gS17UJZsT~wj*G9L`ry66tGAFVjAQXEUjp3 zrB)k642+c)xPc^!fILFt;DCxi6|X?$DZ}gX2oM7#A<3L`v0ZD{nt%P$6WSnl1k>k|M>;7=2S#6v#^!3|F zI^%TiF6|A47NcomRh_tBxfP=O>+|Or=(4tY;0Y92#}BIYIM1jol!!dtlrBK=W{x;K zA}p*obbZLMfbhUqiK6~4d>M3YZVu*@Oph6J44wDA0{sdT4}gKEyie5+8#IIb$m!CI z&DCy{fsMnD3Cyl%(aS+uZdchHV*%{Gio&*O=bMeOhEmsI!E{)}Z*^ON!g(Sxs>yir1dsbD{8basaGkcpU^1|$g=tnO^$~(h z$oe!YDy->Dv%RvXg5<{TwoTT6Ip@!Tl$3^w>RNC7#v4aVE%rw_K*rX z^v3;GPg;Wfg}a2`WiRbSvONIiZd#T?-%2-d`$9cFXK}$mvnVtlE~fpWJxSteEBEYO zdKfV}LVQh4r7A{*j|{2#1Lp-2`-ZE-0yE&CxXz#ru4fx&Bq}jcl!#L@nKzeM%1O9~ zAkGYZP6d7;H11sND#!HAX#)I2XxgBVa||3-u<8P#-<<(U=_?meAV1= zO(&OQf}EX@eKnrG)aaWq6x4sKSzhrT@Lhipw({#90v%_y;z%u zg2#!9tw=D@+#qB>#XdHlH_vQ!yP86RZDc5&U7{g@T~$;DXSz5G967Aku%sOS4t!yD^iMM6P?gpSa`%s0e5+Q4M`*)nZF z@~7M|?CWE z#T_J}7Y8xXdW|SWed{-%XvC^tC^0*PQGtc14hh8y5qgr9T!Gn;!ufkdk;*hP>11KV zs4JFh%U>oVrHI#fP(kGPS-1znCXUsZQ-Q7C;LfFDA{2bM0No_J|Ul6tYaWWb>F%KVvfF~P zZt`RN0u~xWKQxiHFN&X>)I{$(%5ID9t%cx$`tn&X=|0$=^U_ZDwY}bC?0}aR?x2RW>X%h?ws{fB*oApMJ(`OsLx9=mk<6i0N>qIK?73SVs*kR z)s-0Ser zBAOoA(qnRI;tp|HP}peN^@C2-929XW{rmDch>jO5chao^YnRwf{H?Tqw(__w-VW9e zJXa{}Gz-LTh>y#rOwwo)dr7#9ZUe~bWeGdxHaM<@5&5^|DLi!;{@#{Cv&f6>fuq&+ zrl;?@Q>FYKrv9M1k->S%bkR4lC?$>?&ei>=Vn*I$(p3l*EU_0Cbj($ib%?TC-T$V@ zN+_u<(zZYuGL??o%Nu&;yr%RQ`DJZ(=(LT0pgtuSJsq8+cjX6q97MKhYB`OGD*YHd3YOy5>B@NXxWY0Ynmu|n-BIL>VNxO#lt*R z3{CHQ!iW28*+Z!TLkMIH&N@@@MR$j&-3cPDDb-#lGsvi|l_3u}zINF|)o_M!5MksW zAUoF4j%y-$ETS}GdV#7~Ga6jTHb4rJ)L)Vg>@jvcv{h$_Nn~HJx|wz}gRg4N5VnW{ z-~h;scde-{Ll6c9*=ushMlgO4FGj@LV)mqv6Ps~HD_zGGm$um;VUKwAEBO&zVmX5n zLkZk|PN#=WCl3!oFS149WDk2nHX)eKizXCeAxcG#S^I@fVkdC4qfu1t%pXI;C=s?m zg_B2v_JAroL+BsB>u1Cls55QXTy`E3>$C(?d$O+|JQl|e7>C(C9|5c&#?_&JSOr;=X{(O-kq9{x|X#M_R+oSa50zoQ#@ zL0hJRHi7}0)I&pTY7bMEp@dVt|C_?Ng=QnXf~AI-fW;@a9n+qxX8iCA^EUvP8E~)C z<~HbOjYEQ`D}loM&N%Lqn$XDSs9P8j3{zlt@SG&0Qu|T=(xTCud;4so38I9=ZDG{+ak|H)3E>utbwK`9IGy S{~{LIdw2Wp5`P%^<$nRB+vuwR literal 0 HcmV?d00001 -- 2.25.1 From 337cc0b7e47f7dd3d1b2100974d253b88d8b34d3 Mon Sep 17 00:00:00 2001 From: victinass Date: Sat, 3 Feb 2024 21:00:34 +0400 Subject: [PATCH 2/5] =?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=20=E2=84=961?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Battleship/FormBattleship.Designer.cs | 3 +- Battleship/Battleship/FormBattleship.resx | 91 ------------------ .../Properties/Resources.Designer.cs | 10 ++ .../Battleship/Properties/Resources.resx | 7 +- Battleship/Battleship/Resources/arrowUp.png | Bin 0 -> 4861 bytes 5 files changed, 16 insertions(+), 95 deletions(-) create mode 100644 Battleship/Battleship/Resources/arrowUp.png diff --git a/Battleship/Battleship/FormBattleship.Designer.cs b/Battleship/Battleship/FormBattleship.Designer.cs index 337e640..3d01c38 100644 --- a/Battleship/Battleship/FormBattleship.Designer.cs +++ b/Battleship/Battleship/FormBattleship.Designer.cs @@ -28,7 +28,6 @@ /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormBattleship)); pictureBoxBattleship = new PictureBox(); buttonCreate = new Button(); buttonLeft = new Button(); @@ -96,7 +95,7 @@ // buttonUp // buttonUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; - buttonUp.BackgroundImage = (Image)resources.GetObject("buttonUp.BackgroundImage"); + buttonUp.BackgroundImage = Properties.Resources.arrowUp; buttonUp.BackgroundImageLayout = ImageLayout.Stretch; buttonUp.Location = new Point(860, 471); buttonUp.Name = "buttonUp"; diff --git a/Battleship/Battleship/FormBattleship.resx b/Battleship/Battleship/FormBattleship.resx index 865aa56..af32865 100644 --- a/Battleship/Battleship/FormBattleship.resx +++ b/Battleship/Battleship/FormBattleship.resx @@ -117,95 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - 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 - - \ No newline at end of file diff --git a/Battleship/Battleship/Properties/Resources.Designer.cs b/Battleship/Battleship/Properties/Resources.Designer.cs index c4758f0..1df4301 100644 --- a/Battleship/Battleship/Properties/Resources.Designer.cs +++ b/Battleship/Battleship/Properties/Resources.Designer.cs @@ -89,5 +89,15 @@ namespace Battleship.Properties { 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/Battleship/Battleship/Properties/Resources.resx b/Battleship/Battleship/Properties/Resources.resx index 32344b3..254c492 100644 --- a/Battleship/Battleship/Properties/Resources.resx +++ b/Battleship/Battleship/Properties/Resources.resx @@ -118,13 +118,16 @@ 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\arrowRight.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\arrowDown.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/Battleship/Battleship/Resources/arrowUp.png b/Battleship/Battleship/Resources/arrowUp.png new file mode 100644 index 0000000000000000000000000000000000000000..68d77d12deeeca8e726ad5fe1df47124b5d35bb0 GIT binary patch literal 4861 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 literal 0 HcmV?d00001 -- 2.25.1 From e89bd916795714bc1503db34a0241323342f7b1c Mon Sep 17 00:00:00 2001 From: victinass Date: Sun, 18 Feb 2024 16:48:15 +0400 Subject: [PATCH 3/5] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20SetPictureSize=20=D0=B8=20SetPosition?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Battleship/Battleship/DirectionType.cs | 4 +- Battleship/Battleship/DrawingBattleship.cs | 62 +++-- Battleship/Battleship/EntityBattleship.cs | 7 +- .../Battleship/FormBattleship.Designer.cs | 253 +++++++++--------- Battleship/Battleship/FormBattleship.cs | 4 +- 5 files changed, 171 insertions(+), 159 deletions(-) diff --git a/Battleship/Battleship/DirectionType.cs b/Battleship/Battleship/DirectionType.cs index 7a4b742..8b60694 100644 --- a/Battleship/Battleship/DirectionType.cs +++ b/Battleship/Battleship/DirectionType.cs @@ -1,6 +1,6 @@ namespace Battleship; /// -/// +/// класс, отвечающий за лево/право/верх/низ /// public enum DirectionType { @@ -24,4 +24,4 @@ public enum DirectionType /// Right = 4 -} +} \ No newline at end of file diff --git a/Battleship/Battleship/DrawingBattleship.cs b/Battleship/Battleship/DrawingBattleship.cs index ab9bcb5..e962b11 100644 --- a/Battleship/Battleship/DrawingBattleship.cs +++ b/Battleship/Battleship/DrawingBattleship.cs @@ -1,10 +1,9 @@ -namespace Battleship; +namespace Battleship; /// /// Класс, отвечающий за отрисовку и перемещение объекта-сущности /// public class DrawingBattleship { - /// /// Класс-сущность /// @@ -33,12 +32,12 @@ public class DrawingBattleship /// /// Ширина прорисовки линкора /// - private readonly int _drawingBattleshipWidth = 120; + private readonly int _drawingBattleshipWidth = 129; /// /// Высота прорисовки линкора /// - private readonly int _drawingBattleshipHeight = 80; + private readonly int _drawingBattleshipHeight = 40; /// /// @@ -72,23 +71,30 @@ public class DrawingBattleship { //TODO проверка, что объект "влезает" в размеры поля //если влезает, сохраняем границы и корректируем позицию объекта, если она уже была установлена - _pictureWidth = width; - _pictureHeight = height; - if (_pictureWidth <= _drawingBattleshipWidth || _pictureHeight <= _drawingBattleshipHeight) + + if (_drawingBattleshipWidth > width || _drawingBattleshipHeight > height) { - _pictureHeight = null; - _pictureWidth = null; return false; } - if (_startPosX + _drawingBattleshipWidth > _pictureWidth) + _pictureWidth = width; + _pictureHeight = height; + + if (_startPosX.HasValue || _startPosY.HasValue) { - _startPosX = _pictureWidth.Value - _drawingBattleshipWidth; - } - if (_startPosY + _drawingBattleshipHeight > _pictureHeight) - { - _startPosY = _pictureHeight.Value - _drawingBattleshipHeight; + + if (_startPosX + _drawingBattleshipWidth > _pictureWidth) + { + _startPosX = _pictureWidth - _drawingBattleshipWidth; + } + else if (_startPosX < 0) _startPosX = 0; + if (_startPosY + _drawingBattleshipHeight > _pictureHeight) + { + _startPosY = _pictureHeight - _drawingBattleshipHeight; + } + else if (_startPosY < 0) _startPosY = 0; } return true; + } /// @@ -99,16 +105,28 @@ public class DrawingBattleship public void SetPosition(int x, int y, int width, int height) { + if (!_pictureWidth.HasValue || !_pictureHeight.HasValue) + { + return; + } + // TODO если при установке объекта в эти координаты, он будет "выходить" за границы формы // то надо изменить координаты, чтобы он оставался в этих границах - if (x >= 0 && x + _drawingBattleshipWidth <= width && y >= 0 && y + _drawingBattleshipWidth <= height) - { - _startPosX = x; - _startPosY = y; - _pictureWidth = width; - _pictureHeight = height; - } + if (x + _drawingBattleshipWidth > _pictureWidth) + { + _startPosX = _pictureWidth - _drawingBattleshipWidth; + } + else if (x < 0) _startPosX = 0; + else _startPosX = x; + + if (y + _drawingBattleshipHeight > _pictureHeight) + { + _startPosY = _pictureHeight - _drawingBattleshipHeight; + } + else if (y < 0) _startPosY = 0; + else _startPosY = y; + } /// diff --git a/Battleship/Battleship/EntityBattleship.cs b/Battleship/Battleship/EntityBattleship.cs index 3c494f9..477cac0 100644 --- a/Battleship/Battleship/EntityBattleship.cs +++ b/Battleship/Battleship/EntityBattleship.cs @@ -38,9 +38,6 @@ public class EntityBattleship /// public double Step => Speed * 100 / Weight; - /// - /// - /// /// /// /// @@ -58,6 +55,4 @@ public class EntityBattleship Compartment = compartment; Tower = tower; } -} - - +} \ No newline at end of file diff --git a/Battleship/Battleship/FormBattleship.Designer.cs b/Battleship/Battleship/FormBattleship.Designer.cs index 3d01c38..87379f3 100644 --- a/Battleship/Battleship/FormBattleship.Designer.cs +++ b/Battleship/Battleship/FormBattleship.Designer.cs @@ -1,133 +1,132 @@ -namespace Battleship +namespace Battleship; + +partial class FormBattleship { - partial class FormBattleship + /// + /// 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) { - /// - /// 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)) { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); + components.Dispose(); } - - #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() - { - pictureBoxBattleship = new PictureBox(); - buttonCreate = new Button(); - buttonLeft = new Button(); - buttonDown = new Button(); - buttonRight = new Button(); - buttonUp = new Button(); - ((System.ComponentModel.ISupportInitialize)pictureBoxBattleship).BeginInit(); - SuspendLayout(); - // - // pictureBoxBattleship - // - pictureBoxBattleship.Location = new Point(0, 0); - pictureBoxBattleship.Name = "pictureBoxBattleship"; - pictureBoxBattleship.Size = new Size(957, 559); - pictureBoxBattleship.TabIndex = 0; - pictureBoxBattleship.TabStop = false; - // - // buttonCreate - // - buttonCreate.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; - buttonCreate.Location = new Point(12, 518); - buttonCreate.Name = "buttonCreate"; - buttonCreate.Size = new Size(94, 29); - buttonCreate.TabIndex = 0; - buttonCreate.Text = "Создать"; - buttonCreate.UseVisualStyleBackColor = true; - buttonCreate.Click += buttonCreate_Click; - // - // buttonLeft - // - buttonLeft.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; - buttonLeft.BackgroundImage = Properties.Resources.arrowLeft; - buttonLeft.BackgroundImageLayout = ImageLayout.Stretch; - buttonLeft.Location = new Point(819, 512); - buttonLeft.Name = "buttonLeft"; - buttonLeft.Size = new Size(35, 35); - buttonLeft.TabIndex = 3; - buttonLeft.UseVisualStyleBackColor = true; - buttonLeft.Click += buttonMove_Click; - // - // buttonDown - // - buttonDown.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; - buttonDown.BackgroundImage = Properties.Resources.arrowDown; - buttonDown.BackgroundImageLayout = ImageLayout.Stretch; - buttonDown.Location = new Point(860, 512); - buttonDown.Name = "buttonDown"; - buttonDown.Size = new Size(35, 35); - buttonDown.TabIndex = 2; - buttonDown.UseVisualStyleBackColor = true; - buttonDown.Click += buttonMove_Click; - // - // buttonRight - // - buttonRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; - buttonRight.BackgroundImage = Properties.Resources.arrowRight; - buttonRight.BackgroundImageLayout = ImageLayout.Stretch; - buttonRight.Location = new Point(901, 512); - buttonRight.Name = "buttonRight"; - buttonRight.Size = new Size(35, 35); - buttonRight.TabIndex = 4; - buttonRight.UseVisualStyleBackColor = true; - buttonRight.Click += buttonMove_Click; - // - // buttonUp - // - buttonUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; - buttonUp.BackgroundImage = Properties.Resources.arrowUp; - buttonUp.BackgroundImageLayout = ImageLayout.Stretch; - buttonUp.Location = new Point(860, 471); - buttonUp.Name = "buttonUp"; - buttonUp.Size = new Size(35, 35); - buttonUp.TabIndex = 1; - buttonUp.UseVisualStyleBackColor = true; - buttonUp.Click += buttonMove_Click; - // - // FormBattleship - // - AutoScaleDimensions = new SizeF(8F, 20F); - AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(957, 559); - Controls.Add(buttonUp); - Controls.Add(buttonRight); - Controls.Add(buttonDown); - Controls.Add(buttonLeft); - Controls.Add(buttonCreate); - Controls.Add(pictureBoxBattleship); - Name = "FormBattleship"; - Text = "Линкор"; - ((System.ComponentModel.ISupportInitialize)pictureBoxBattleship).EndInit(); - ResumeLayout(false); - } - - #endregion - - private PictureBox pictureBoxBattleship; - private Button buttonCreate; - private Button buttonDown; - private Button buttonRight; - private Button buttonUp; - private Button buttonLeft; + 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() + { + pictureBoxBattleship = new PictureBox(); + buttonCreate = new Button(); + buttonLeft = new Button(); + buttonDown = new Button(); + buttonRight = new Button(); + buttonUp = new Button(); + ((System.ComponentModel.ISupportInitialize)pictureBoxBattleship).BeginInit(); + SuspendLayout(); + // + // pictureBoxBattleship + // + pictureBoxBattleship.Location = new Point(0, 0); + pictureBoxBattleship.Name = "pictureBoxBattleship"; + pictureBoxBattleship.Size = new Size(957, 559); + pictureBoxBattleship.TabIndex = 0; + pictureBoxBattleship.TabStop = false; + // + // buttonCreate + // + buttonCreate.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + buttonCreate.Location = new Point(12, 518); + buttonCreate.Name = "buttonCreate"; + buttonCreate.Size = new Size(94, 29); + buttonCreate.TabIndex = 0; + buttonCreate.Text = "Создать"; + buttonCreate.UseVisualStyleBackColor = true; + buttonCreate.Click += buttonCreate_Click; + // + // buttonLeft + // + buttonLeft.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonLeft.BackgroundImage = Properties.Resources.arrowLeft; + buttonLeft.BackgroundImageLayout = ImageLayout.Stretch; + buttonLeft.Location = new Point(819, 512); + buttonLeft.Name = "buttonLeft"; + buttonLeft.Size = new Size(35, 35); + buttonLeft.TabIndex = 3; + buttonLeft.UseVisualStyleBackColor = true; + buttonLeft.Click += buttonMove_Click; + // + // buttonDown + // + buttonDown.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonDown.BackgroundImage = Properties.Resources.arrowDown; + buttonDown.BackgroundImageLayout = ImageLayout.Stretch; + buttonDown.Location = new Point(860, 512); + buttonDown.Name = "buttonDown"; + buttonDown.Size = new Size(35, 35); + buttonDown.TabIndex = 2; + buttonDown.UseVisualStyleBackColor = true; + buttonDown.Click += buttonMove_Click; + // + // buttonRight + // + buttonRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonRight.BackgroundImage = Properties.Resources.arrowRight; + buttonRight.BackgroundImageLayout = ImageLayout.Stretch; + buttonRight.Location = new Point(901, 512); + buttonRight.Name = "buttonRight"; + buttonRight.Size = new Size(35, 35); + buttonRight.TabIndex = 4; + buttonRight.UseVisualStyleBackColor = true; + buttonRight.Click += buttonMove_Click; + // + // buttonUp + // + buttonUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonUp.BackgroundImage = Properties.Resources.arrowUp; + buttonUp.BackgroundImageLayout = ImageLayout.Stretch; + buttonUp.Location = new Point(860, 471); + buttonUp.Name = "buttonUp"; + buttonUp.Size = new Size(35, 35); + buttonUp.TabIndex = 1; + buttonUp.UseVisualStyleBackColor = true; + buttonUp.Click += buttonMove_Click; + // + // FormBattleship + // + AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(957, 559); + Controls.Add(buttonUp); + Controls.Add(buttonRight); + Controls.Add(buttonDown); + Controls.Add(buttonLeft); + Controls.Add(buttonCreate); + Controls.Add(pictureBoxBattleship); + Name = "FormBattleship"; + Text = "Линкор"; + ((System.ComponentModel.ISupportInitialize)pictureBoxBattleship).EndInit(); + ResumeLayout(false); + } + + #endregion + + private PictureBox pictureBoxBattleship; + private Button buttonCreate; + private Button buttonDown; + private Button buttonRight; + private Button buttonUp; + private Button buttonLeft; } \ No newline at end of file diff --git a/Battleship/Battleship/FormBattleship.cs b/Battleship/Battleship/FormBattleship.cs index bbdf799..048e106 100644 --- a/Battleship/Battleship/FormBattleship.cs +++ b/Battleship/Battleship/FormBattleship.cs @@ -5,7 +5,7 @@ public partial class FormBattleship : Form { /// - /// Поле\объект для прорисовки объекта + /// Поле/объект для прорисовки объекта /// private DrawingBattleship? _drawingBattleship; //поля с нижнего подчеркивания @@ -76,4 +76,4 @@ public partial class FormBattleship : Form Draw(); } } -} +} \ No newline at end of file -- 2.25.1 From e80fba02ee55b80b3935e56a59bb3216a5b360e1 Mon Sep 17 00:00:00 2001 From: victinass Date: Mon, 19 Feb 2024 09:33:36 +0400 Subject: [PATCH 4/5] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=80?= =?UTF-8?q?=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Battleship/Battleship/DrawingBattleship.cs | 2 +- Battleship/Battleship/EntityBattleship.cs | 3 +++ Battleship/Battleship/FormBattleship.cs | 11 ++++++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Battleship/Battleship/DrawingBattleship.cs b/Battleship/Battleship/DrawingBattleship.cs index e962b11..cae552c 100644 --- a/Battleship/Battleship/DrawingBattleship.cs +++ b/Battleship/Battleship/DrawingBattleship.cs @@ -61,7 +61,7 @@ public class DrawingBattleship /// - /// + /// Установка границ поля /// /// Ширина поля /// Высота поля diff --git a/Battleship/Battleship/EntityBattleship.cs b/Battleship/Battleship/EntityBattleship.cs index 477cac0..0d01e5c 100644 --- a/Battleship/Battleship/EntityBattleship.cs +++ b/Battleship/Battleship/EntityBattleship.cs @@ -38,6 +38,9 @@ public class EntityBattleship /// public double Step => Speed * 100 / Weight; + /// + /// Инициализация полей объекта-класса линкора + /// /// /// /// diff --git a/Battleship/Battleship/FormBattleship.cs b/Battleship/Battleship/FormBattleship.cs index 048e106..6a8da1e 100644 --- a/Battleship/Battleship/FormBattleship.cs +++ b/Battleship/Battleship/FormBattleship.cs @@ -30,7 +30,11 @@ public partial class FormBattleship : Form pictureBoxBattleship.Image = bmp; } - + /// + /// обработка нажатия кнопки "создать линкор" + /// + /// + /// private void buttonCreate_Click(object sender, EventArgs e) { Random random = new(); @@ -46,6 +50,11 @@ public partial class FormBattleship : Form } + /// + /// обработка нажатия кнопок "вверх/вниз/влево/вправо" + /// + /// + /// private void buttonMove_Click(object sender, EventArgs e) { if (_drawingBattleship == null) -- 2.25.1 From ac16f4423be8597d8114eef65d725a56f5ff95e5 Mon Sep 17 00:00:00 2001 From: victinass Date: Mon, 19 Feb 2024 12:16:41 +0400 Subject: [PATCH 5/5] =?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=20=E2=84=961?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Battleship/Battleship/DrawingBattleship.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Battleship/Battleship/DrawingBattleship.cs b/Battleship/Battleship/DrawingBattleship.cs index cae552c..eee4543 100644 --- a/Battleship/Battleship/DrawingBattleship.cs +++ b/Battleship/Battleship/DrawingBattleship.cs @@ -40,7 +40,7 @@ public class DrawingBattleship private readonly int _drawingBattleshipHeight = 40; /// - /// + /// Инициализация свойств /// /// Скорость /// Вес @@ -265,4 +265,4 @@ public class DrawingBattleship g.DrawRectangle(pen, _startPosX.Value + 107, _startPosY.Value + 17, 30, 5); } } -} +} \ No newline at end of file -- 2.25.1