From 62e0ec9148678621e7b2d54e1201db78476935d9 Mon Sep 17 00:00:00 2001 From: "ityurner02@mail.ru" Date: Mon, 12 Sep 2022 10:24:26 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D0=B0=D1=8F=20=D0=BB?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=BD=D0=B0?= =?UTF-8?q?=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AntiAircraftGun/AntiAircraftGun.csproj | 15 ++ AntiAircraftGun/AntiAircraftGun/Direction.cs | 19 ++ .../AntiAircraftGun/DrawingAntiAircraftGun.cs | 176 +++++++++++++++++ .../AntiAircraftGun/EntityAntiAircraftGun.cs | 43 +++++ .../AntiAircraftGun/Form1.Designer.cs | 39 ---- AntiAircraftGun/AntiAircraftGun/Form1.cs | 10 - .../FormAntiAircraftGun.Designer.cs | 182 ++++++++++++++++++ .../AntiAircraftGun/FormAntiAircraftGun.cs | 82 ++++++++ .../AntiAircraftGun/FormAntiAircraftGun.resx | 63 ++++++ AntiAircraftGun/AntiAircraftGun/Program.cs | 2 +- .../Properties/Resources.Designer.cs | 103 ++++++++++ .../{Form1.resx => Properties/Resources.resx} | 13 ++ .../AntiAircraftGun/Resources/arrowDown1.jpg | Bin 0 -> 17006 bytes .../AntiAircraftGun/Resources/arrowLeft1.jpg | Bin 0 -> 16882 bytes .../AntiAircraftGun/Resources/arrowRight1.jpg | Bin 0 -> 14183 bytes .../AntiAircraftGun/Resources/arrowUp1.jpg | Bin 0 -> 16040 bytes 16 files changed, 697 insertions(+), 50 deletions(-) create mode 100644 AntiAircraftGun/AntiAircraftGun/Direction.cs create mode 100644 AntiAircraftGun/AntiAircraftGun/DrawingAntiAircraftGun.cs create mode 100644 AntiAircraftGun/AntiAircraftGun/EntityAntiAircraftGun.cs delete mode 100644 AntiAircraftGun/AntiAircraftGun/Form1.Designer.cs delete mode 100644 AntiAircraftGun/AntiAircraftGun/Form1.cs create mode 100644 AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGun.Designer.cs create mode 100644 AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGun.cs create mode 100644 AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGun.resx create mode 100644 AntiAircraftGun/AntiAircraftGun/Properties/Resources.Designer.cs rename AntiAircraftGun/AntiAircraftGun/{Form1.resx => Properties/Resources.resx} (83%) create mode 100644 AntiAircraftGun/AntiAircraftGun/Resources/arrowDown1.jpg create mode 100644 AntiAircraftGun/AntiAircraftGun/Resources/arrowLeft1.jpg create mode 100644 AntiAircraftGun/AntiAircraftGun/Resources/arrowRight1.jpg create mode 100644 AntiAircraftGun/AntiAircraftGun/Resources/arrowUp1.jpg diff --git a/AntiAircraftGun/AntiAircraftGun/AntiAircraftGun.csproj b/AntiAircraftGun/AntiAircraftGun/AntiAircraftGun.csproj index b57c89e..13ee123 100644 --- a/AntiAircraftGun/AntiAircraftGun/AntiAircraftGun.csproj +++ b/AntiAircraftGun/AntiAircraftGun/AntiAircraftGun.csproj @@ -8,4 +8,19 @@ enable + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/AntiAircraftGun/AntiAircraftGun/Direction.cs b/AntiAircraftGun/AntiAircraftGun/Direction.cs new file mode 100644 index 0000000..c648428 --- /dev/null +++ b/AntiAircraftGun/AntiAircraftGun/Direction.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AntiAircraftGun +{ + /// + /// Направление перемещения + /// + internal enum Direction + { + Up = 1, + Down = 2, + Left = 3, + Right = 4 + } +} diff --git a/AntiAircraftGun/AntiAircraftGun/DrawingAntiAircraftGun.cs b/AntiAircraftGun/AntiAircraftGun/DrawingAntiAircraftGun.cs new file mode 100644 index 0000000..e213dc6 --- /dev/null +++ b/AntiAircraftGun/AntiAircraftGun/DrawingAntiAircraftGun.cs @@ -0,0 +1,176 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AntiAircraftGun +{ + /// + /// Класс, отвечающий за прорисовку и перемещение объекта-сущности + /// + internal class DrawingAntiAircraftGun + { + /// + /// Класс-сущность + /// + public EntityAntiAircraftGun AntiAircraftGun { private set; get; } + /// + /// Левая координата отрисовки зенитного орудия + /// + private float _startPosX; + /// + /// Верхняя кооридната отрисовки зенитного орудия + /// + private float _startPosY; + /// + /// Ширина окна отрисовки + /// + private int? _pictureWidth = null; + /// + /// Высота окна отрисовки + /// + private int? _pictureHeight = null; + /// + /// Ширина отрисовки зенитного орудия + /// + private readonly int _antiAircrafGunWidth = 90; + /// + /// Высота отрисовки зенитного орудия + /// + private readonly int _antiAircrafGunHeight = 40; + /// + /// Инициализация свойств + /// + /// Скорость + /// Вес зенитного орудия + /// Цвет корпуса + public void Init(int speed, float weight, Color bodyColor) + { + AntiAircraftGun = new EntityAntiAircraftGun(); + AntiAircraftGun.Init(speed, weight, bodyColor); + } + /// + /// Установка позиции зенитного орудия + /// + /// Координата X + /// Координата Y + /// Ширина картинки + /// Высота картинки + public void SetPosition(int x, int y, int width, int height) + { + _pictureHeight = height < _antiAircrafGunHeight ? null : height; + _pictureWidth = width < _antiAircrafGunWidth ? null : width; + if(_pictureHeight.HasValue && _pictureWidth.HasValue) + { + _startPosX = x < 0 || x > _pictureWidth - _antiAircrafGunWidth ? (int)_pictureWidth - _antiAircrafGunWidth : x; + _startPosY = y < 0 || y > _pictureHeight - _antiAircrafGunHeight ? (int)_pictureHeight - _antiAircrafGunHeight : y; + } + } + /// + /// Изменение направления перемещения + /// + /// Направление + public void MoveTransport(Direction direction) + { + if (!_pictureWidth.HasValue || !_pictureHeight.HasValue) + { + return; + } + switch (direction) + { + // вправо + case Direction.Right: + if (_startPosX + _antiAircrafGunWidth + AntiAircraftGun.Step < _pictureWidth) + { + _startPosX += AntiAircraftGun.Step; + } + break; + //влево + case Direction.Left: + if (_startPosX - AntiAircraftGun.Step >= 0) + { + _startPosX -= AntiAircraftGun.Step; + } + break; + //вверх + case Direction.Up: + if (_startPosY - AntiAircraftGun.Step >= 0) + { + _startPosY -= AntiAircraftGun.Step; + } + break; + //вниз + case Direction.Down: + if (_startPosY + _antiAircrafGunHeight + AntiAircraftGun.Step < _pictureHeight) + { + _startPosY += AntiAircraftGun.Step; + } + break; + } + } + /// + /// Отрисовка зенитного орудия + /// + /// + public void DrawTransport(Graphics g) + { + if (_startPosX < 0 || _startPosY < 0 + || !_pictureHeight.HasValue || !_pictureWidth.HasValue) + { + return; + } + Pen pen = new(Color.Black); + //границы зенитного орудия + g.DrawRectangle(pen, _startPosX + 25, _startPosY, 40, 10); + g.DrawRectangle(pen, _startPosX + 5, _startPosY + 10, 80, 10); + g.DrawRectangle(pen, _startPosX + 10, _startPosY + 20, 70, 20); + g.DrawEllipse(pen, _startPosX, _startPosY + 20, 20, 20); + g.DrawEllipse(pen, _startPosX + 70, _startPosY + 20, 20, 20); + //гусеницы + Brush brGray = new SolidBrush(Color.Gray); + g.FillRectangle(brGray, _startPosX + 10, _startPosY + 20, 70, 20); + g.FillEllipse(brGray, _startPosX, _startPosY + 20, 20, 20); + g.FillEllipse(brGray, _startPosX + 70, _startPosY + 20, 20, 20); + //катки в гусеницах + Brush brBlack = new SolidBrush(Color.Black); + g.FillEllipse(brBlack, _startPosX +1, _startPosY + 21, 18, 18); + g.FillEllipse(brBlack, _startPosX + 69, _startPosY + 21, 18, 18); + g.FillEllipse(brBlack, _startPosX + 19, _startPosY + 30, 11, 11); + g.FillEllipse(brBlack, _startPosX + 58, _startPosY + 30, 11, 11); + g.FillEllipse(brBlack, _startPosX + 32, _startPosY + 30, 11, 11); + g.FillEllipse(brBlack, _startPosX + 45, _startPosY + 30, 11, 11); + //корпус + Brush br = new SolidBrush(AntiAircraftGun?.BodyColor ?? Color.Black); + g.FillRectangle(br, _startPosX + 25, _startPosY, 40, 10); + g.FillRectangle(br, _startPosX + 5, _startPosY + 10, 80, 10); + g.FillEllipse(br, _startPosX + 27, _startPosY + 16, 8, 8); + g.FillEllipse(br, _startPosX + 40, _startPosY + 16, 8, 8); + g.FillEllipse(br, _startPosX + 53, _startPosY + 16, 8, 8); + } + /// + /// Смена границ формы отрисовки + /// + /// Ширина картинки + /// Высота картинки + public void ChangeBorders(int width, int height) + { + _pictureWidth = width; + _pictureHeight = height; + if (_pictureWidth <= _antiAircrafGunWidth || _pictureHeight <= _antiAircrafGunHeight) + { + _pictureWidth = null; + _pictureHeight = null; + return; + } + if (_startPosX + _antiAircrafGunWidth > _pictureWidth) + { + _startPosX = _pictureWidth.Value - _antiAircrafGunWidth; + } + if (_startPosY + _antiAircrafGunHeight > _pictureHeight) + { + _startPosY = _pictureHeight.Value - _antiAircrafGunHeight; + } + } + } +} diff --git a/AntiAircraftGun/AntiAircraftGun/EntityAntiAircraftGun.cs b/AntiAircraftGun/AntiAircraftGun/EntityAntiAircraftGun.cs new file mode 100644 index 0000000..f81d3d8 --- /dev/null +++ b/AntiAircraftGun/AntiAircraftGun/EntityAntiAircraftGun.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AntiAircraftGun +{ + internal class EntityAntiAircraftGun + { + /// + /// Скорость + /// + 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/AntiAircraftGun/AntiAircraftGun/Form1.Designer.cs b/AntiAircraftGun/AntiAircraftGun/Form1.Designer.cs deleted file mode 100644 index 4350061..0000000 --- a/AntiAircraftGun/AntiAircraftGun/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace AntiAircraftGun -{ - 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/AntiAircraftGun/AntiAircraftGun/Form1.cs b/AntiAircraftGun/AntiAircraftGun/Form1.cs deleted file mode 100644 index 90486ab..0000000 --- a/AntiAircraftGun/AntiAircraftGun/Form1.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace AntiAircraftGun -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} \ No newline at end of file diff --git a/AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGun.Designer.cs b/AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGun.Designer.cs new file mode 100644 index 0000000..32da52c --- /dev/null +++ b/AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGun.Designer.cs @@ -0,0 +1,182 @@ +namespace AntiAircraftGun +{ + partial class FormAntiAircraftGun + { + /// + /// 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.pictureBoxAntiAircraftGun = 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.buttonUp = new System.Windows.Forms.Button(); + this.buttonLeft = new System.Windows.Forms.Button(); + this.buttonRight = new System.Windows.Forms.Button(); + this.buttonDown = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxAntiAircraftGun)).BeginInit(); + this.statusStrip.SuspendLayout(); + this.SuspendLayout(); + // + // pictureBoxAntiAircraftGun + // + this.pictureBoxAntiAircraftGun.Dock = System.Windows.Forms.DockStyle.Fill; + this.pictureBoxAntiAircraftGun.Location = new System.Drawing.Point(0, 0); + this.pictureBoxAntiAircraftGun.Name = "pictureBoxAntiAircraftGun"; + this.pictureBoxAntiAircraftGun.Size = new System.Drawing.Size(800, 425); + this.pictureBoxAntiAircraftGun.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.pictureBoxAntiAircraftGun.TabIndex = 0; + this.pictureBoxAntiAircraftGun.TabStop = false; + this.pictureBoxAntiAircraftGun.Resize += new System.EventHandler(this.PictureBoxAntiAircraftGun_Resize); + // + // statusStrip + // + this.statusStrip.ImageScalingSize = new System.Drawing.Size(20, 20); + this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripStatusLabelSpeed, + this.toolStripStatusLabelWeight, + this.toolStripStatusLabelBodyColor}); + this.statusStrip.Location = new System.Drawing.Point(0, 425); + this.statusStrip.Name = "statusStrip"; + this.statusStrip.Size = new System.Drawing.Size(800, 26); + this.statusStrip.TabIndex = 1; + // + // toolStripStatusLabelSpeed + // + this.toolStripStatusLabelSpeed.Name = "toolStripStatusLabelSpeed"; + this.toolStripStatusLabelSpeed.Size = new System.Drawing.Size(73, 20); + this.toolStripStatusLabelSpeed.Text = "Скорость"; + // + // toolStripStatusLabelWeight + // + this.toolStripStatusLabelWeight.Name = "toolStripStatusLabelWeight"; + this.toolStripStatusLabelWeight.Size = new System.Drawing.Size(33, 20); + this.toolStripStatusLabelWeight.Text = "Вес"; + // + // toolStripStatusLabelBodyColor + // + this.toolStripStatusLabelBodyColor.Name = "toolStripStatusLabelBodyColor"; + this.toolStripStatusLabelBodyColor.Size = new System.Drawing.Size(42, 20); + this.toolStripStatusLabelBodyColor.Text = "Цвет"; + // + // buttonCreate + // + this.buttonCreate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonCreate.Location = new System.Drawing.Point(11, 381); + this.buttonCreate.Name = "buttonCreate"; + this.buttonCreate.Size = new System.Drawing.Size(94, 29); + this.buttonCreate.TabIndex = 2; + this.buttonCreate.Text = "Создать"; + this.buttonCreate.UseVisualStyleBackColor = true; + this.buttonCreate.Click += new System.EventHandler(this.ButtonCreate_Click); + // + // buttonUp + // + this.buttonUp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUp.BackgroundImage = global::AntiAircraftGun.Properties.Resources.arrowUp; + this.buttonUp.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonUp.Location = new System.Drawing.Point(725, 341); + this.buttonUp.Name = "buttonUp"; + this.buttonUp.Size = new System.Drawing.Size(30, 29); + this.buttonUp.TabIndex = 3; + this.buttonUp.UseVisualStyleBackColor = true; + this.buttonUp.Click += new System.EventHandler(this.ButtonMove_Click); + // + // buttonLeft + // + this.buttonLeft.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonLeft.BackgroundImage = global::AntiAircraftGun.Properties.Resources.arrowLeft; + this.buttonLeft.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonLeft.Location = new System.Drawing.Point(688, 379); + this.buttonLeft.Name = "buttonLeft"; + this.buttonLeft.Size = new System.Drawing.Size(30, 29); + this.buttonLeft.TabIndex = 4; + this.buttonLeft.UseVisualStyleBackColor = true; + this.buttonLeft.Click += new System.EventHandler(this.ButtonMove_Click); + // + // buttonRight + // + this.buttonRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonRight.BackgroundImage = global::AntiAircraftGun.Properties.Resources.arrowRight; + this.buttonRight.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonRight.Location = new System.Drawing.Point(760, 379); + this.buttonRight.Name = "buttonRight"; + this.buttonRight.Size = new System.Drawing.Size(30, 29); + this.buttonRight.TabIndex = 5; + this.buttonRight.UseVisualStyleBackColor = true; + this.buttonRight.Click += new System.EventHandler(this.ButtonMove_Click); + // + // buttonDown + // + this.buttonDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDown.BackgroundImage = global::AntiAircraftGun.Properties.Resources.arrowDown; + this.buttonDown.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonDown.Location = new System.Drawing.Point(725, 379); + this.buttonDown.Name = "buttonDown"; + this.buttonDown.Size = new System.Drawing.Size(30, 29); + this.buttonDown.TabIndex = 6; + this.buttonDown.UseVisualStyleBackColor = true; + this.buttonDown.Click += new System.EventHandler(this.ButtonMove_Click); + // + // FormAntiAircraftGun + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 451); + this.Controls.Add(this.buttonDown); + this.Controls.Add(this.buttonRight); + this.Controls.Add(this.buttonLeft); + this.Controls.Add(this.buttonUp); + this.Controls.Add(this.buttonCreate); + this.Controls.Add(this.pictureBoxAntiAircraftGun); + this.Controls.Add(this.statusStrip); + this.MinimumSize = new System.Drawing.Size(50, 80); + this.Name = "FormAntiAircraftGun"; + this.Text = "Зенитное орудие"; + this.Click += new System.EventHandler(this.ButtonMove_Click); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxAntiAircraftGun)).EndInit(); + this.statusStrip.ResumeLayout(false); + this.statusStrip.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private PictureBox pictureBoxAntiAircraftGun; + private StatusStrip statusStrip; + private ToolStripStatusLabel toolStripStatusLabelSpeed; + private ToolStripStatusLabel toolStripStatusLabelWeight; + private ToolStripStatusLabel toolStripStatusLabelBodyColor; + private Button buttonCreate; + private Button buttonUp; + private Button buttonLeft; + private Button buttonRight; + private Button buttonDown; + } +} \ No newline at end of file diff --git a/AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGun.cs b/AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGun.cs new file mode 100644 index 0000000..a3430d4 --- /dev/null +++ b/AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGun.cs @@ -0,0 +1,82 @@ +using System.Windows.Forms; + +namespace AntiAircraftGun +{ + public partial class FormAntiAircraftGun : Form + { + private DrawingAntiAircraftGun _antiAircrafGun; + + public FormAntiAircraftGun() + { + InitializeComponent(); + } + /// + /// + /// + private void Draw() + { + if (pictureBoxAntiAircraftGun.Width > 0 && pictureBoxAntiAircraftGun.Height > 0) + { + Bitmap bmp = new(pictureBoxAntiAircraftGun.Width, pictureBoxAntiAircraftGun.Height); + Graphics gr = Graphics.FromImage(bmp); + _antiAircrafGun?.DrawTransport(gr); + pictureBoxAntiAircraftGun.Image = bmp; + } + } + + /// + /// "" + /// + /// + /// + private void ButtonCreate_Click(object sender, EventArgs e) + { + Random rnd = new(); + _antiAircrafGun = new DrawingAntiAircraftGun(); + _antiAircrafGun.Init(rnd.Next(100, 300), rnd.Next(1000, 2000), + Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256))); + _antiAircrafGun.SetPosition(rnd.Next(10, 100), rnd.Next(10, 100), + pictureBoxAntiAircraftGun.Width, pictureBoxAntiAircraftGun.Height); + toolStripStatusLabelSpeed.Text = $": {_antiAircrafGun.AntiAircraftGun.Speed}"; + toolStripStatusLabelWeight.Text = $": {_antiAircrafGun.AntiAircraftGun.Weight}"; + toolStripStatusLabelBodyColor.Text = $": {_antiAircrafGun.AntiAircraftGun.BodyColor.Name}"; + Draw(); + } + /// + /// + /// + /// + /// + private void ButtonMove_Click(object sender, EventArgs e) + { + // + string name = ((Button)sender)?.Name ?? string.Empty; + switch (name) + { + case "buttonUp": + _antiAircrafGun?.MoveTransport(Direction.Up); + break; + case "buttonDown": + _antiAircrafGun?.MoveTransport(Direction.Down); + break; + case "buttonLeft": + _antiAircrafGun?.MoveTransport(Direction.Left); + break; + case "buttonRight": + _antiAircrafGun?.MoveTransport(Direction.Right); + break; + } + Draw(); + } + /// + /// + /// + /// + /// + private void PictureBoxAntiAircraftGun_Resize(object sender, EventArgs e) + { + _antiAircrafGun?.ChangeBorders(pictureBoxAntiAircraftGun.Width, pictureBoxAntiAircraftGun.Height); + Draw(); + } + } +} \ No newline at end of file diff --git a/AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGun.resx b/AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGun.resx new file mode 100644 index 0000000..2c0949d --- /dev/null +++ b/AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGun.resx @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/AntiAircraftGun/AntiAircraftGun/Program.cs b/AntiAircraftGun/AntiAircraftGun/Program.cs index a07f785..5abc523 100644 --- a/AntiAircraftGun/AntiAircraftGun/Program.cs +++ b/AntiAircraftGun/AntiAircraftGun/Program.cs @@ -11,7 +11,7 @@ namespace AntiAircraftGun // 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 FormAntiAircraftGun()); } } } \ No newline at end of file diff --git a/AntiAircraftGun/AntiAircraftGun/Properties/Resources.Designer.cs b/AntiAircraftGun/AntiAircraftGun/Properties/Resources.Designer.cs new file mode 100644 index 0000000..5b0f3a4 --- /dev/null +++ b/AntiAircraftGun/AntiAircraftGun/Properties/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace AntiAircraftGun.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("AntiAircraftGun.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/AntiAircraftGun/AntiAircraftGun/Form1.resx b/AntiAircraftGun/AntiAircraftGun/Properties/Resources.resx similarity index 83% rename from AntiAircraftGun/AntiAircraftGun/Form1.resx rename to AntiAircraftGun/AntiAircraftGun/Properties/Resources.resx index 1af7de1..99d105f 100644 --- a/AntiAircraftGun/AntiAircraftGun/Form1.resx +++ b/AntiAircraftGun/AntiAircraftGun/Properties/Resources.resx @@ -117,4 +117,17 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\arrowDown1.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\arrowLeft1.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\arrowRight1.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\arrowUp1.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/AntiAircraftGun/AntiAircraftGun/Resources/arrowDown1.jpg b/AntiAircraftGun/AntiAircraftGun/Resources/arrowDown1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..240474e023546e65e29eff656f5968aad4964713 GIT binary patch literal 17006 zcmeHu2|SeR+yBGRpe!NEHi{xbDtj4{rDRE#LMBN_NF^#6OA$gSopLNmDcdBZY(ut6 zvhT?ZO7%NxnbzS$(=wRR=o;`ZI z^&loDCddc;Kny&zPS?lf7z7y^K{5~ov4QV+AsDz~0zZEo3_7%3$4pn-+{8>>-07&? z@so~D;%61*H;YSqopy0|65qW?Uwn_LuDiF@Mi z6324zKt2x`J`BbT2FuFA0-nAIzK2*=vhuD~)LzE7&mO+clYdJ<^c^;dojK*J%o+)j zTaTOyWakhNT)jqU{RS!NjWXMmlvPyK)OB|0>ggNo-m~A_!qV!%L2HMjj>nvwU5=kV z<8{{C=iK?AOP7N~u7rlg#9qG-n*an;9>gX+`RlJ1y7$9KCh^(s;+tQ z@>NrFOKV$uM`stluYchEhry3S!^Fv{=^4^2`P1AyT}%+{Gg)6LTR_)JKo>KZ0~Yu^ zT};g0;DoJYVO^`Zj8}Uf+}@LK-If40{+-cxa?05ywwe)E9XZv=At1R8zn(Zx+8>nt zJ;DP25oKQq`-`qFXa$T3Odf0{goJ3+lz^r%NIK=$PT4*rS=O5>h{T&vc|$5lB(xG@L}RKy(K;)7d*I%gL0!yjqdjF3y

f^97$`4twQfg$~76& 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 literal 0 HcmV?d00001 diff --git a/AntiAircraftGun/AntiAircraftGun/Resources/arrowLeft1.jpg b/AntiAircraftGun/AntiAircraftGun/Resources/arrowLeft1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5a0dd2476a9f4d79828a074c2ace01d7a7af039e GIT binary patch literal 16882 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 Z9-D92bScaJ;W;x@HEHt;&+*W^{|6pkVQT;Y literal 0 HcmV?d00001 diff --git a/AntiAircraftGun/AntiAircraftGun/Resources/arrowRight1.jpg b/AntiAircraftGun/AntiAircraftGun/Resources/arrowRight1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0b7f14af015fb92cb18135d8708a5167a457bc8a GIT binary patch literal 14183 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 DP;x#` literal 0 HcmV?d00001