From 468a9d282922d118184060b803636ddde034dcc0 Mon Sep 17 00:00:00 2001 From: kirkorovka <147087189+kirkorovka@users.noreply.github.com> Date: Tue, 19 Mar 2024 21:11:33 +0400 Subject: [PATCH] Lab01 --- .../DirectionType.cs | 16 ++ .../DrawingSAU.cs | 191 ++++++++++++++++++ .../EntitySAU.cs | 33 +++ .../Form1.Designer.cs | 39 ---- .../Form1.cs | 10 - .../FormSAU.Designer.cs | 134 ++++++++++++ .../FormSAU.cs | 88 ++++++++ .../{Form1.resx => FormSAU.resx} | 50 ++--- .../Program.cs | 2 +- .../Project_SelfPropelledArtilleryUnit.csproj | 15 ++ .../Properties/Resources.Designer.cs | 113 +++++++++++ .../Properties/Resources.resx | 136 +++++++++++++ .../Resources/arrow.png | Bin 0 -> 5278 bytes .../Resources/down.png | Bin 0 -> 6242 bytes .../Resources/left.png | Bin 0 -> 6248 bytes .../Resources/right.png | Bin 0 -> 5278 bytes .../Resources/up.png | Bin 0 -> 6060 bytes 17 files changed, 752 insertions(+), 75 deletions(-) create mode 100644 Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/DirectionType.cs create mode 100644 Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/DrawingSAU.cs create mode 100644 Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/EntitySAU.cs delete mode 100644 Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Form1.Designer.cs delete mode 100644 Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Form1.cs create mode 100644 Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/FormSAU.Designer.cs create mode 100644 Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/FormSAU.cs rename Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/{Form1.resx => FormSAU.resx} (93%) create mode 100644 Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Properties/Resources.Designer.cs create mode 100644 Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Properties/Resources.resx create mode 100644 Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Resources/arrow.png create mode 100644 Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Resources/down.png create mode 100644 Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Resources/left.png create mode 100644 Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Resources/right.png create mode 100644 Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Resources/up.png diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/DirectionType.cs b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/DirectionType.cs new file mode 100644 index 0000000..0f9516b --- /dev/null +++ b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/DirectionType.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Project_SelfPropelledArtilleryUnit +{ + public enum DirectionType + { + Up=1, + Down=2, + Left=3, + Right=4 + } +} diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/DrawingSAU.cs b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/DrawingSAU.cs new file mode 100644 index 0000000..164efc8 --- /dev/null +++ b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/DrawingSAU.cs @@ -0,0 +1,191 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Project_SelfPropelledArtilleryUnit +{ + public class DrawingSAU + { + public EntitySAU? EntitySAU { get; private set; } + + private int? _pictureWidth; + private int? _pictureHeight; + private int? _startPosX; + private int? _startPosY; + private readonly int _drawingSAUWidth = 150; + private readonly int _drawingSAUHeight = 90; + + public void Init (int speed, double weight, Color bodyColor, Color additionalColor, bool armor, bool guns) + { + EntitySAU = new EntitySAU(); + EntitySAU.Init(speed, weight, bodyColor, additionalColor, armor, guns); + _pictureWidth = null; + _pictureHeight = null; + _startPosX = null; + _startPosY = null; + } + + public bool SetPictureSize(int width,int height) + { + if (width > _pictureWidth || height > _pictureHeight) + { + return false; + } + + _pictureWidth = width; + _pictureHeight = height; + + if (_startPosX.HasValue && _startPosY.HasValue) + { + if (_startPosX + _pictureWidth > width) + { + _startPosX = width - _pictureWidth; + } + if (_startPosY + _pictureHeight > height) + { + _startPosY = height - _pictureHeight; + } + } + return false; + + } + + public void SetPosition(int x, int y) + { + + + + if (!_pictureHeight.HasValue || !_pictureWidth.HasValue) + { + return; + } + + _startPosX = x; + _startPosY = y; + + if (x < 0) + { + _startPosX = 0; + } + + if (y < 0) + { + _startPosY = 0; + } + + if (x + _drawingSAUWidth > _pictureWidth) + { + _startPosX = _pictureWidth - _drawingSAUWidth; + } + + if (y + _pictureHeight > _pictureHeight) + { + _startPosY = _pictureHeight - _drawingSAUHeight; + } + + } + + + public bool MoveSAU(DirectionType direction) + { + if(EntitySAU==null || !_startPosX.HasValue || !_startPosY.HasValue) + { + return false; + } + switch (direction) + { + case DirectionType.Left: + if (_startPosX.Value - EntitySAU.Step >0) + { + _startPosX-=(int)EntitySAU.Step; + } + return true; + case DirectionType.Up: + if(_startPosY.Value - EntitySAU.Step >0) + { + _startPosY-=(int)EntitySAU.Step; + } + return true; + case DirectionType.Right: + if (_startPosX.Value + EntitySAU.Step +_drawingSAUWidth < _pictureWidth.Value) + { + _startPosX += (int)EntitySAU.Step; + } + return true; + case DirectionType.Down: + if (_startPosY.Value + EntitySAU.Step + _drawingSAUHeight < _pictureHeight.Value) + { + _startPosY += (int)EntitySAU.Step; + } + return true; + default: + return false; + } + } + + public void DrawSAU(Graphics g) + { + if (EntitySAU == null || !_startPosX.HasValue || !_startPosY.HasValue) + { + return; + } + + Pen pen = new(Color.Black); + Brush additionalBrush = new SolidBrush(EntitySAU.AdditionalColor); + Brush BaseBrush = new SolidBrush(Color.Brown); + Brush brBlack = new SolidBrush(Color.Black); + + if (EntitySAU.Wheels) + { + g.FillEllipse(additionalBrush, _startPosX.Value, _startPosY.Value + 45, 40, 40); + g.FillEllipse(additionalBrush, _startPosX.Value + 40, _startPosY.Value + 45, 40, 40); + g.FillEllipse(additionalBrush, _startPosX.Value + 80, _startPosY.Value + 45, 40, 40); + } + else + { + g.FillEllipse(additionalBrush, _startPosX.Value, _startPosY.Value + 55, 130, 40); + } + + //Корпус + Point point1 = new Point(_startPosX.Value, _startPosY.Value + 45); + Point point2 = new Point(_startPosX.Value + 120, _startPosY.Value + 45); + Point point3 = new Point(_startPosX.Value + 140, _startPosY.Value + 75); + Point point4 = new Point(_startPosX.Value + 120, _startPosY.Value + 65); + Point point5 = new Point(_startPosX.Value, _startPosY.Value + 65); + + Point[] Points1 = { point1, point2, point3, point4, point5 }; + g.FillPolygon (BaseBrush, Points1); + + g.FillRectangle(BaseBrush, _startPosX.Value + 20, _startPosY.Value + 15, 80, 30); + + //Ствол + + Point point6 = new Point(_startPosX.Value+ 100, _startPosY.Value + 25); + Point point7 = new Point(_startPosX.Value + 150, _startPosY.Value + 10); + Point point8 = new Point(_startPosX.Value + 150, _startPosY.Value + 20); + Point point9 = new Point(_startPosX.Value + 100, _startPosY.Value + 35); + Point[] Points2 = { point6, point7, point8, point9}; + g.FillPolygon(BaseBrush, Points2); + + Point point10 = new Point(_startPosX.Value + 140, _startPosY.Value + 10); + Point point11 = new Point(_startPosX.Value + 145, _startPosY.Value + 5); + Point point12 = new Point(_startPosX.Value + 150, _startPosY.Value + 15); + Point point13 = new Point(_startPosX.Value + 145, _startPosY.Value + 20); + Point[] Points3 = { point10, point11, point12, point13 }; + g.FillPolygon(BaseBrush, Points3); + + //пулеметы + + if (EntitySAU.Guns) + { + + g.FillRectangle(additionalBrush, _startPosX.Value + 40, _startPosY.Value, 5, 15); + g.FillRectangle(additionalBrush, _startPosX.Value + 75, _startPosY.Value, 5, 15); + + } + + } + } +} diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/EntitySAU.cs b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/EntitySAU.cs new file mode 100644 index 0000000..2564a14 --- /dev/null +++ b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/EntitySAU.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Project_SelfPropelledArtilleryUnit +{ + public class EntitySAU + { + 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 Wheels { get; private set; } + //длина ствола + public bool Guns { get; private set; } + + public double Step => Speed * 100 / Weight; + + + + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool wheels, bool guns) + { + Speed = speed; + Weight = weight; + BodyColor = bodyColor; + AdditionalColor = additionalColor; + Wheels = wheels; + Guns = guns; + } + } +} diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Form1.Designer.cs b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Form1.Designer.cs deleted file mode 100644 index 7bcae36..0000000 --- a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace Project_SelfPropelledArtilleryUnit -{ - 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/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Form1.cs b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Form1.cs deleted file mode 100644 index b15d4c4..0000000 --- a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Form1.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Project_SelfPropelledArtilleryUnit -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/FormSAU.Designer.cs b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/FormSAU.Designer.cs new file mode 100644 index 0000000..819c41d --- /dev/null +++ b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/FormSAU.Designer.cs @@ -0,0 +1,134 @@ +namespace Project_SelfPropelledArtilleryUnit +{ + partial class FormSAU + { + /// + /// 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() + { + pictureBox1 = new PictureBox(); + create = new Button(); + left = new Button(); + up = new Button(); + right = new Button(); + down = new Button(); + ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit(); + SuspendLayout(); + // + // pictureBox1 + // + pictureBox1.Dock = DockStyle.Fill; + pictureBox1.Location = new Point(0, 0); + pictureBox1.Name = "pictureBox1"; + pictureBox1.Size = new Size(1054, 522); + pictureBox1.TabIndex = 0; + pictureBox1.TabStop = false; + // + // create + // + create.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + create.Location = new Point(12, 481); + create.Name = "create"; + create.Size = new Size(94, 29); + create.TabIndex = 1; + create.Text = "create"; + create.UseVisualStyleBackColor = true; + create.Click += Create_Click; + // + // left + // + left.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + left.BackgroundImage = Properties.Resources.left; + left.BackgroundImageLayout = ImageLayout.Stretch; + left.Location = new Point(904, 467); + left.Name = "left"; + left.Size = new Size(40, 40); + left.TabIndex = 2; + left.UseVisualStyleBackColor = true; + left.Click += Move_Click; + // + // up + // + up.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + up.BackgroundImage = Properties.Resources.up; + up.BackgroundImageLayout = ImageLayout.Stretch; + up.Location = new Point(950, 421); + up.Name = "up"; + up.Size = new Size(40, 40); + up.TabIndex = 3; + up.UseVisualStyleBackColor = true; + up.Click += Move_Click; + // + // right + // + right.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + right.BackgroundImage = Properties.Resources.right; + right.BackgroundImageLayout = ImageLayout.Stretch; + right.Location = new Point(996, 467); + right.Name = "right"; + right.Size = new Size(40, 40); + right.TabIndex = 4; + right.UseVisualStyleBackColor = true; + right.Click += Move_Click; + // + // down + // + down.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + down.BackgroundImage = Properties.Resources.down; + down.BackgroundImageLayout = ImageLayout.Stretch; + down.Location = new Point(950, 467); + down.Name = "down"; + down.Size = new Size(40, 40); + down.TabIndex = 5; + down.UseVisualStyleBackColor = true; + down.Click += Move_Click; + // + // FormSAU + // + AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(1054, 522); + Controls.Add(down); + Controls.Add(right); + Controls.Add(up); + Controls.Add(left); + Controls.Add(create); + Controls.Add(pictureBox1); + Name = "FormSAU"; + Text = "Самоходная артиллерийская установка"; + ((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit(); + ResumeLayout(false); + } + + #endregion + + private PictureBox pictureBox1; + private Button create; + private Button left; + private Button up; + private Button right; + private Button down; + } +} \ No newline at end of file diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/FormSAU.cs b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/FormSAU.cs new file mode 100644 index 0000000..40665ab --- /dev/null +++ b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/FormSAU.cs @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Project_SelfPropelledArtilleryUnit +{ + public partial class FormSAU : Form + { + private DrawingSAU? _drawingSAU; + private EntitySAU? _entity; + + public FormSAU() + { + InitializeComponent(); + } + + private void Draw() + { + if (_drawingSAU == null) + { + return; + } + + Bitmap bmp = new(pictureBox1.Width, pictureBox1.Height); + Graphics gr = Graphics.FromImage(bmp); + _drawingSAU.DrawSAU(gr); + pictureBox1.Image = bmp; + } + + private void Create_Click(object sender, EventArgs e) + { + + + + Random random = new(); + _drawingSAU = new DrawingSAU(); + // _entity = new EntitySAU(); + _drawingSAU.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))); + + _drawingSAU.SetPictureSize(pictureBox1.Width, pictureBox1.Height); + _drawingSAU.SetPosition(pictureBox1.Width , pictureBox1.Height); + + + + Draw(); + } + + private void Move_Click(object sender, EventArgs e) + { + if(_drawingSAU==null) + { + return; + } + + string name=((Button)sender)?.Name ?? string.Empty; + bool result = false; + switch (name) + { + case "up": + result = _drawingSAU.MoveSAU(DirectionType.Up); + break; + case "down": + result = _drawingSAU.MoveSAU(DirectionType.Down); + break; + case "left": + result = _drawingSAU.MoveSAU(DirectionType.Left); + break; + case "right": + result = _drawingSAU.MoveSAU(DirectionType.Right); + break; + } + + if(result) + { + Draw(); + } + } + } +} diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Form1.resx b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/FormSAU.resx similarity index 93% rename from Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Form1.resx rename to Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/FormSAU.resx index 1af7de1..af32865 100644 --- a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Form1.resx +++ b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/FormSAU.resx @@ -1,17 +1,17 @@  - diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Program.cs b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Program.cs index 15adad9..909fec7 100644 --- a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Program.cs +++ b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Program.cs @@ -11,7 +11,7 @@ namespace Project_SelfPropelledArtilleryUnit // 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 FormSAU()); } } } \ No newline at end of file diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit.csproj b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit.csproj index 663fdb8..af03d74 100644 --- a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit.csproj +++ b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit.csproj @@ -8,4 +8,19 @@ enable + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Properties/Resources.Designer.cs b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Properties/Resources.Designer.cs new file mode 100644 index 0000000..3603868 --- /dev/null +++ b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Properties/Resources.Designer.cs @@ -0,0 +1,113 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace Project_SelfPropelledArtilleryUnit.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("Project_SelfPropelledArtilleryUnit.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 arrow { + get { + object obj = ResourceManager.GetObject("arrow", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap down { + get { + object obj = ResourceManager.GetObject("down", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap left { + get { + object obj = ResourceManager.GetObject("left", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap right { + get { + object obj = ResourceManager.GetObject("right", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap up { + get { + object obj = ResourceManager.GetObject("up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Properties/Resources.resx b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Properties/Resources.resx new file mode 100644 index 0000000..dbd77ef --- /dev/null +++ b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Properties/Resources.resx @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + ..\Resources\arrow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\left.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\right.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Resources/arrow.png b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Resources/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..ef80486606b7ddfab9575b00eedf98b1347c0121 GIT binary patch literal 5278 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 literal 0 HcmV?d00001 diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Resources/down.png b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Resources/down.png new file mode 100644 index 0000000000000000000000000000000000000000..de6c88fb91d608eeb553370cc1ff35be08f8066e GIT binary patch literal 6242 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 literal 0 HcmV?d00001 diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Resources/left.png b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Resources/left.png new file mode 100644 index 0000000000000000000000000000000000000000..dafaaf912adaaa05579c243f7fc32a4723247d2c GIT binary patch literal 6248 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 literal 0 HcmV?d00001 diff --git a/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Resources/up.png b/Project_SelfPropelledArtilleryUnit/Project_SelfPropelledArtilleryUnit/Resources/up.png new file mode 100644 index 0000000000000000000000000000000000000000..f920a807b23a93adddb372040c7ae6e67ca5ab8b GIT binary patch literal 6060 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 X*TGkDylgYz&z-s%%F4LT&