From 80c26c1b12093cdfc35c1490fc43767f11c541f4 Mon Sep 17 00:00:00 2001 From: Whoisthatjulia Date: Sun, 10 Dec 2023 22:46:36 +0400 Subject: [PATCH] lab_1 --- AirFighter/AirFighter/DirectionAirFighter.cs | 19 ++ AirFighter/AirFighter/DrawningAirFighter.cs | 240 ++++++++++++++++++ AirFighter/AirFighter/EntityAirFighter.cs | 32 +++ AirFighter/AirFighter/Form1.Designer.cs | 39 --- AirFighter/AirFighter/Form1.cs | 10 - .../AirFighter/FormAirFighter.Designer.cs | 138 ++++++++++ AirFighter/AirFighter/FormAirFighter.cs | 58 +++++ .../{Form1.resx => FormAirFighter.resx} | 52 ++-- AirFighter/AirFighter/Program.cs | 2 +- .../Properties/Resources.Designer.cs | 113 +++++++++ .../AirFighter/Properties/Resources.resx | 136 ++++++++++ AirFighter/AirFighter/Resources/--png-1.png | Bin 0 -> 12261 bytes AirFighter/AirFighter/Resources/--png-2.png | Bin 0 -> 15863 bytes AirFighter/AirFighter/Resources/--png-3.png | Bin 0 -> 12191 bytes AirFighter/AirFighter/Resources/--png-31.png | Bin 0 -> 12191 bytes AirFighter/AirFighter/Resources/--png-4.png | Bin 0 -> 16063 bytes 16 files changed, 763 insertions(+), 76 deletions(-) create mode 100644 AirFighter/AirFighter/DirectionAirFighter.cs create mode 100644 AirFighter/AirFighter/DrawningAirFighter.cs create mode 100644 AirFighter/AirFighter/EntityAirFighter.cs delete mode 100644 AirFighter/AirFighter/Form1.Designer.cs delete mode 100644 AirFighter/AirFighter/Form1.cs create mode 100644 AirFighter/AirFighter/FormAirFighter.Designer.cs create mode 100644 AirFighter/AirFighter/FormAirFighter.cs rename AirFighter/AirFighter/{Form1.resx => FormAirFighter.resx} (93%) create mode 100644 AirFighter/AirFighter/Properties/Resources.Designer.cs create mode 100644 AirFighter/AirFighter/Properties/Resources.resx create mode 100644 AirFighter/AirFighter/Resources/--png-1.png create mode 100644 AirFighter/AirFighter/Resources/--png-2.png create mode 100644 AirFighter/AirFighter/Resources/--png-3.png create mode 100644 AirFighter/AirFighter/Resources/--png-31.png create mode 100644 AirFighter/AirFighter/Resources/--png-4.png diff --git a/AirFighter/AirFighter/DirectionAirFighter.cs b/AirFighter/AirFighter/DirectionAirFighter.cs new file mode 100644 index 0000000..ccf5252 --- /dev/null +++ b/AirFighter/AirFighter/DirectionAirFighter.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AirFighter +{ + public enum DirectionAirFighter + { + Up = 1, + + Down = 2, + + Left = 3, + + Right = 4 + } +} diff --git a/AirFighter/AirFighter/DrawningAirFighter.cs b/AirFighter/AirFighter/DrawningAirFighter.cs new file mode 100644 index 0000000..53dd7d4 --- /dev/null +++ b/AirFighter/AirFighter/DrawningAirFighter.cs @@ -0,0 +1,240 @@ +using System; +using System.Collections.Generic; +using System.Drawing.Drawing2D; +using System.IO; +using System.Linq; +using System.Net.Sockets; +using System.Text; +using System.Threading.Tasks; + +namespace AirFighter +{ + public class DrawningAirFighter + { + public EntityAirFighter? EntityAirFighter { get; private set; } + + private int _pictureWidth; + + private int _pictureHeight; + + private int _startPosX; + + private int _startPosY; + + private readonly int _fighterWidth = 195; + + private readonly int _fighterHeight = 166; + + public bool Init(int speed, double weight, Color bodyColor, Color additionalColor, bool wing, bool rocket, int width, int height) + { + if (width < _pictureWidth || height < _pictureHeight) + { + return false; + } + _pictureWidth = width; + _pictureHeight = height; + EntityAirFighter = new EntityAirFighter(); + EntityAirFighter.Init(speed, weight, bodyColor, additionalColor, wing, rocket); + return true; + } + public void SetPosition(int x, int y) + { + if (x < 0) + { + x = 0; + } + else if (x > _pictureWidth - _fighterWidth) + { + x = _pictureWidth - _fighterWidth; + } + if (y < 0) + { + y = 0; + } + else if (y > _pictureHeight - _fighterHeight) + { + y = _pictureHeight - _fighterHeight; + } + _startPosX = x; + _startPosY = y; + } + public void MoveTransport(DirectionAirFighter direction) + { + if (EntityAirFighter == null) + { + return; + } + switch (direction) + { + case DirectionAirFighter.Left: + if (_startPosX - EntityAirFighter.Step > 0) + { + _startPosX -= (int)EntityAirFighter.Step; + } + else if (_startPosX - EntityAirFighter.Step < 0) + { + _startPosX = _startPosX - _startPosX + 3; + } + break; + + case DirectionAirFighter.Up: + if (_startPosY - EntityAirFighter.Step > 0) + { + _startPosY -= (int)EntityAirFighter.Step; + } + else if (_startPosY - EntityAirFighter.Step < 0) + { + _startPosY = _startPosY - _startPosY + 0; + } + break; + + case DirectionAirFighter.Right: + if (_startPosX + EntityAirFighter.Step + _fighterWidth < _pictureWidth) + { + _startPosX += (int)EntityAirFighter.Step; + } + else if (_startPosX + EntityAirFighter.Step + _fighterWidth > _pictureWidth) + { + _startPosX += _pictureWidth - _startPosX - _fighterWidth; + } + + break; + + case DirectionAirFighter.Down: + if (_startPosY + EntityAirFighter.Step + _fighterHeight < _pictureHeight) + { + _startPosY += (int)EntityAirFighter.Step; + } + else if (_startPosY + EntityAirFighter.Step + _fighterHeight > _pictureHeight) + { + _startPosY += _pictureHeight - _startPosY - _fighterHeight; + } + break; + } + } + public void DrawTransport(Graphics g) + { + if (EntityAirFighter == null) + { + return; + } + Pen pen = new(EntityAirFighter.BodyColor, 2); + Brush brushBlack = new SolidBrush(EntityAirFighter.BodyColor); + + PointF[] front = { + new(_startPosX + 160, _startPosY + 69), + new(_startPosX + 195, _startPosY + 83), + new(_startPosX + 160, _startPosY + 97) + }; + + PointF[] tailTop = { + new(_startPosX, _startPosY + 30), + new(_startPosX, _startPosY + 70), + new(_startPosX + 25, _startPosY + 70), + new(_startPosX + 25, _startPosY + 55) + }; + + PointF[] tailBottom = { + new(_startPosX, _startPosY + 96), + new(_startPosX, _startPosY + 136), + new(_startPosX + 25, _startPosY + 111), + new(_startPosX + 25, _startPosY + 96) + }; + + PointF[] wingTop = + { + new(_startPosX + 100, _startPosY), + new(_startPosX + 100, _startPosY + 70), + new(_startPosX + 75, _startPosY + 70), + new(_startPosX + 90, _startPosY), + }; + PointF[] wingBottom = + { + new(_startPosX + 100, _startPosY + 96), + new(_startPosX + 100, _startPosY + 166), + new(_startPosX + 90, _startPosY + 166), + new(_startPosX + 75, _startPosY + 96), + }; + + g.DrawPolygon(pen, tailTop); + g.DrawPolygon(pen, tailBottom); + g.DrawPolygon(pen, wingTop); + g.DrawPolygon(pen, wingBottom); + g.DrawRectangle(pen, _startPosX, _startPosY + 70, 160, 26); + g.FillPolygon(brushBlack, front); + + Brush additionalBrush = new SolidBrush(EntityAirFighter.AdditionalColor); + + if (EntityAirFighter.Wing) + { + PointF[] topDopWing = + { + new(_startPosX + 78, _startPosY + 56), + new(_startPosX + 75, _startPosY + 70), + new(_startPosX + 55, _startPosY + 50), + new(_startPosX + 60, _startPosY + 45), + }; + + PointF[] bottomDopWing = + { + new(_startPosX + 78, _startPosY + 110), + new(_startPosX + 75, _startPosY + 96), + new(_startPosX + 55, _startPosY + 116), + new(_startPosX + 60, _startPosY + 121), + }; + + g.FillPolygon(additionalBrush, topDopWing); + g.FillPolygon(additionalBrush, bottomDopWing); + + } + + if (EntityAirFighter.Rocket) + { + PointF[] topRocket1 = + { + new(_startPosX + 100, _startPosY + 20), + new(_startPosX + 100, _startPosY + 30), + new(_startPosX + 112, _startPosY + 30), + new(_startPosX + 120, _startPosY + 25), + new(_startPosX + 112, _startPosY + 20) + }; + + PointF[] topRocket2 = + { + new(_startPosX + 100, _startPosY + 35), + new(_startPosX + 100, _startPosY + 45), + new(_startPosX + 112, _startPosY + 45), + new(_startPosX + 120, _startPosY + 40), + new(_startPosX + 112, _startPosY + 35) + }; + + PointF[] bottomRocket1 = + { + new(_startPosX + 100, _startPosY + 146), + new(_startPosX + 100, _startPosY + 136), + new(_startPosX + 112, _startPosY + 136), + new(_startPosX + 120, _startPosY + 141), + new(_startPosX + 112, _startPosY + 146) + }; + + PointF[] bottomRocket2 = + { + new(_startPosX + 100, _startPosY + 131), + new(_startPosX + 100, _startPosY + 121), + new(_startPosX + 112, _startPosY + 121), + new(_startPosX + 120, _startPosY + 126), + new(_startPosX + 112, _startPosY + 131) + }; + + g.FillPolygon(additionalBrush, topRocket1); + g.FillPolygon(additionalBrush, topRocket2); + g.FillPolygon(additionalBrush, bottomRocket1); + g.FillPolygon(additionalBrush, bottomRocket2); + } + } + } + +} + + + diff --git a/AirFighter/AirFighter/EntityAirFighter.cs b/AirFighter/AirFighter/EntityAirFighter.cs new file mode 100644 index 0000000..2873405 --- /dev/null +++ b/AirFighter/AirFighter/EntityAirFighter.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.Sockets; +using System.Text; +using System.Threading.Tasks; + +namespace AirFighter +{ + public class EntityAirFighter + { + 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 Rocket { get; private set; } + public bool Wing { get; private set; } + public double Step => (double)Speed * 100 / Weight; + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool rocket, bool wing) + { + + Speed = speed; + Weight = weight; + BodyColor = bodyColor; + AdditionalColor = additionalColor; + Rocket = rocket; + Wing = wing; + + } + } + +} diff --git a/AirFighter/AirFighter/Form1.Designer.cs b/AirFighter/AirFighter/Form1.Designer.cs deleted file mode 100644 index 107e2e0..0000000 --- a/AirFighter/AirFighter/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace AirFighter -{ - 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/AirFighter/AirFighter/Form1.cs b/AirFighter/AirFighter/Form1.cs deleted file mode 100644 index dc93bbf..0000000 --- a/AirFighter/AirFighter/Form1.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace AirFighter -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} \ No newline at end of file diff --git a/AirFighter/AirFighter/FormAirFighter.Designer.cs b/AirFighter/AirFighter/FormAirFighter.Designer.cs new file mode 100644 index 0000000..0d240db --- /dev/null +++ b/AirFighter/AirFighter/FormAirFighter.Designer.cs @@ -0,0 +1,138 @@ +namespace AirFighter +{ + partial class AirFighter + { + /// + /// 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() + { + pictureBoxAirFighter = new PictureBox(); + buttonLeft = new Button(); + buttonDown = new Button(); + buttonRight = new Button(); + buttonUp = new Button(); + buttonCreate = new Button(); + ((System.ComponentModel.ISupportInitialize)pictureBoxAirFighter).BeginInit(); + SuspendLayout(); + // + // pictureBoxAirFighter + // + pictureBoxAirFighter.Dock = DockStyle.Fill; + pictureBoxAirFighter.Location = new Point(0, 0); + pictureBoxAirFighter.Name = "pictureBoxAirFighter"; + pictureBoxAirFighter.Size = new Size(800, 450); + pictureBoxAirFighter.SizeMode = PictureBoxSizeMode.AutoSize; + pictureBoxAirFighter.TabIndex = 0; + pictureBoxAirFighter.TabStop = false; + // + // buttonLeft + // + buttonLeft.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonLeft.BackgroundImage = Properties.Resources.__png_3; + buttonLeft.BackgroundImageLayout = ImageLayout.Zoom; + buttonLeft.Location = new Point(686, 370); + buttonLeft.Name = "buttonLeft"; + buttonLeft.Size = new Size(30, 30); + buttonLeft.TabIndex = 1; + buttonLeft.UseVisualStyleBackColor = true; + buttonLeft.Click += buttonMove_Click; + // + // buttonDown + // + buttonDown.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonDown.BackgroundImage = Properties.Resources.__png_2; + buttonDown.BackgroundImageLayout = ImageLayout.Zoom; + buttonDown.Location = new Point(722, 407); + buttonDown.Name = "buttonDown"; + buttonDown.Size = new Size(30, 30); + buttonDown.TabIndex = 2; + buttonDown.UseVisualStyleBackColor = true; + buttonDown.Click += buttonMove_Click; + // + // buttonRight + // + buttonRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonRight.BackgroundImage = Properties.Resources.__png_1; + buttonRight.BackgroundImageLayout = ImageLayout.Zoom; + buttonRight.Location = new Point(758, 370); + buttonRight.Name = "buttonRight"; + buttonRight.Size = new Size(30, 30); + buttonRight.TabIndex = 3; + buttonRight.UseVisualStyleBackColor = true; + buttonRight.Click += buttonMove_Click; + // + // buttonUp + // + buttonUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonUp.BackgroundImage = Properties.Resources.__png_4; + buttonUp.BackgroundImageLayout = ImageLayout.Zoom; + buttonUp.Location = new Point(722, 370); + buttonUp.Name = "buttonUp"; + buttonUp.Size = new Size(30, 30); + buttonUp.TabIndex = 4; + buttonUp.UseVisualStyleBackColor = true; + buttonUp.Click += buttonMove_Click; + // + // buttonCreate + // + buttonCreate.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + buttonCreate.BackColor = Color.Azure; + buttonCreate.Font = new Font("Times New Roman", 14.25F, FontStyle.Bold, GraphicsUnit.Point); + buttonCreate.Location = new Point(12, 405); + buttonCreate.Name = "buttonCreate"; + buttonCreate.Size = new Size(95, 33); + buttonCreate.TabIndex = 5; + buttonCreate.Text = "Создать"; + buttonCreate.UseVisualStyleBackColor = false; + buttonCreate.Click += buttonCreate_Click; + // + // AirFighter + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(buttonCreate); + Controls.Add(buttonUp); + Controls.Add(buttonRight); + Controls.Add(buttonDown); + Controls.Add(buttonLeft); + Controls.Add(pictureBoxAirFighter); + Name = "AirFighter"; + Text = "AirFighter"; + ((System.ComponentModel.ISupportInitialize)pictureBoxAirFighter).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private PictureBox pictureBoxAirFighter; + private Button buttonLeft; + private Button buttonDown; + private Button buttonRight; + private Button buttonUp; + private Button buttonCreate; + } +} \ No newline at end of file diff --git a/AirFighter/AirFighter/FormAirFighter.cs b/AirFighter/AirFighter/FormAirFighter.cs new file mode 100644 index 0000000..49bee52 --- /dev/null +++ b/AirFighter/AirFighter/FormAirFighter.cs @@ -0,0 +1,58 @@ +namespace AirFighter +{ + public partial class AirFighter : Form + { + private DrawningAirFighter? _drawningAirFighter; + public AirFighter() + { + InitializeComponent(); + } + private void Draw() + { + if (_drawningAirFighter == null) + { + return; + } + Bitmap bmp = new(pictureBoxAirFighter.Width, pictureBoxAirFighter.Height); + Graphics gr = Graphics.FromImage(bmp); + _drawningAirFighter.DrawTransport(gr); + pictureBoxAirFighter.Image = bmp; + } + + private void buttonCreate_Click(object sender, EventArgs e) + { + Random random = new(); + _drawningAirFighter = new DrawningAirFighter(); + _drawningAirFighter.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)), pictureBoxAirFighter.Width, pictureBoxAirFighter.Height); + _drawningAirFighter.SetPosition(random.Next(10, 100), + random.Next(10, 100)); + + Draw(); + } + private void buttonMove_Click(object sender, EventArgs e) + { + if (_drawningAirFighter == null) + { + return; + } + string name = ((Button)sender)?.Name ?? string.Empty; + switch (name) + { + case "buttonUp": + _drawningAirFighter.MoveTransport(DirectionAirFighter.Up); + break; + case "buttonDown": + _drawningAirFighter.MoveTransport(DirectionAirFighter.Down); + break; + case "buttonLeft": + _drawningAirFighter.MoveTransport(DirectionAirFighter.Left); + break; + case "buttonRight": + _drawningAirFighter.MoveTransport(DirectionAirFighter.Right); + break; + } + Draw(); + } + } +} \ No newline at end of file diff --git a/AirFighter/AirFighter/Form1.resx b/AirFighter/AirFighter/FormAirFighter.resx similarity index 93% rename from AirFighter/AirFighter/Form1.resx rename to AirFighter/AirFighter/FormAirFighter.resx index 1af7de1..a395bff 100644 --- a/AirFighter/AirFighter/Form1.resx +++ b/AirFighter/AirFighter/FormAirFighter.resx @@ -1,24 +1,24 @@  - diff --git a/AirFighter/AirFighter/Program.cs b/AirFighter/AirFighter/Program.cs index 20f1938..2181c9e 100644 --- a/AirFighter/AirFighter/Program.cs +++ b/AirFighter/AirFighter/Program.cs @@ -11,7 +11,7 @@ namespace AirFighter // 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 AirFighter()); } } } \ No newline at end of file diff --git a/AirFighter/AirFighter/Properties/Resources.Designer.cs b/AirFighter/AirFighter/Properties/Resources.Designer.cs new file mode 100644 index 0000000..7e7eabd --- /dev/null +++ b/AirFighter/AirFighter/Properties/Resources.Designer.cs @@ -0,0 +1,113 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace AirFighter.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("AirFighter.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 @__png_1 { + get { + object obj = ResourceManager.GetObject("--png-1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap @__png_2 { + get { + object obj = ResourceManager.GetObject("--png-2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap @__png_3 { + get { + object obj = ResourceManager.GetObject("--png-3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap @__png_31 { + get { + object obj = ResourceManager.GetObject("--png-31", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap @__png_4 { + get { + object obj = ResourceManager.GetObject("--png-4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/AirFighter/AirFighter/Properties/Resources.resx b/AirFighter/AirFighter/Properties/Resources.resx new file mode 100644 index 0000000..3d3e2ad --- /dev/null +++ b/AirFighter/AirFighter/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\--png-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\--png-31.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\--png-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\--png-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\--png-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/AirFighter/AirFighter/Resources/--png-1.png b/AirFighter/AirFighter/Resources/--png-1.png new file mode 100644 index 0000000000000000000000000000000000000000..d25c474397b86dea4fa62906f4e13a162c9223a5 GIT binary patch literal 12261 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 literal 0 HcmV?d00001 diff --git a/AirFighter/AirFighter/Resources/--png-2.png b/AirFighter/AirFighter/Resources/--png-2.png new file mode 100644 index 0000000000000000000000000000000000000000..8f7145707a5ed3dfd7bb4693a5f2f156b6fa76e1 GIT binary patch literal 15863 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 Q{dC@(g|m;&TE6wa0Is89GXMYp literal 0 HcmV?d00001 diff --git a/AirFighter/AirFighter/Resources/--png-3.png b/AirFighter/AirFighter/Resources/--png-3.png new file mode 100644 index 0000000000000000000000000000000000000000..563e65f43f3a23138ba9b8962e910fd7130711e6 GIT binary patch literal 12191 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 literal 0 HcmV?d00001 diff --git a/AirFighter/AirFighter/Resources/--png-31.png b/AirFighter/AirFighter/Resources/--png-31.png new file mode 100644 index 0000000000000000000000000000000000000000..563e65f43f3a23138ba9b8962e910fd7130711e6 GIT binary patch literal 12191 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 literal 0 HcmV?d00001 diff --git a/AirFighter/AirFighter/Resources/--png-4.png b/AirFighter/AirFighter/Resources/--png-4.png new file mode 100644 index 0000000000000000000000000000000000000000..1a413f608577d1153f01ab6c9343d3de53992dbe GIT binary patch literal 16063 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 VxA)v|{WsdwS(!7xNnE=1{{UF`i}nBj literal 0 HcmV?d00001 -- 2.25.1