From c5177631e91392f7fe69e1d264f805f83782fae3 Mon Sep 17 00:00:00 2001 From: aaahsap Date: Sun, 9 Jun 2024 17:02:27 +0400 Subject: [PATCH] Hard_1 --- Hard/Hard/DirectionType.cs | 34 ++++ Hard/Hard/DrawningWheel.cs | 62 ++++++ Hard/Hard/DrawningYborshik.cs | 213 ++++++++++++++++++++ Hard/Hard/EntityYborshik.cs | 66 ++++++ Hard/Hard/Form1.Designer.cs | 39 ---- Hard/Hard/Form1.cs | 10 - Hard/Hard/FormYborshik.Designer.cs | 147 ++++++++++++++ Hard/Hard/FormYborshik.cs | 93 +++++++++ Hard/Hard/{Form1.resx => FormYborshik.resx} | 50 ++--- Hard/Hard/Hard.csproj | 15 ++ Hard/Hard/NumberOfWheel.cs | 27 +++ Hard/Hard/Program.cs | 2 +- Hard/Hard/Properties/Resources.Designer.cs | 103 ++++++++++ Hard/Hard/Properties/Resources.resx | 133 ++++++++++++ Hard/Hard/Resources/Strelkadown.jpg | Bin 0 -> 21088 bytes Hard/Hard/Resources/Strelkaleft.jpg | Bin 0 -> 21129 bytes Hard/Hard/Resources/Strelkaright.jpg | Bin 0 -> 21117 bytes Hard/Hard/Resources/Strelkaup.jpg | Bin 0 -> 21126 bytes 18 files changed, 919 insertions(+), 75 deletions(-) create mode 100644 Hard/Hard/DirectionType.cs create mode 100644 Hard/Hard/DrawningWheel.cs create mode 100644 Hard/Hard/DrawningYborshik.cs create mode 100644 Hard/Hard/EntityYborshik.cs delete mode 100644 Hard/Hard/Form1.Designer.cs delete mode 100644 Hard/Hard/Form1.cs create mode 100644 Hard/Hard/FormYborshik.Designer.cs create mode 100644 Hard/Hard/FormYborshik.cs rename Hard/Hard/{Form1.resx => FormYborshik.resx} (93%) create mode 100644 Hard/Hard/NumberOfWheel.cs create mode 100644 Hard/Hard/Properties/Resources.Designer.cs create mode 100644 Hard/Hard/Properties/Resources.resx create mode 100644 Hard/Hard/Resources/Strelkadown.jpg create mode 100644 Hard/Hard/Resources/Strelkaleft.jpg create mode 100644 Hard/Hard/Resources/Strelkaright.jpg create mode 100644 Hard/Hard/Resources/Strelkaup.jpg diff --git a/Hard/Hard/DirectionType.cs b/Hard/Hard/DirectionType.cs new file mode 100644 index 0000000..835add0 --- /dev/null +++ b/Hard/Hard/DirectionType.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +/// +/// Направление перемещения +/// +namespace Hard; + +public enum DirectionType +{ + /// + /// Вверх + /// + Up = 1, + + /// + /// Вниз + /// + Down = 2, + + /// + /// Влево + /// + Left = 3, + + /// + /// Вправо + /// + Right = 4 +} + diff --git a/Hard/Hard/DrawningWheel.cs b/Hard/Hard/DrawningWheel.cs new file mode 100644 index 0000000..03281e3 --- /dev/null +++ b/Hard/Hard/DrawningWheel.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Hard; + +public class DrawningWheel +{ + public EntityYborshik? EntityYborshik { get; private set; } + + private NumberOfWheel numberOfWheel; + + public int WheelNum + { + set + { + if (value <= 1 || value > 3) + { + numberOfWheel = NumberOfWheel.OneWheel; + } + else if (value == 2) + { + numberOfWheel = NumberOfWheel.TwoWheel; + } + else if (value == 3) + { + numberOfWheel = NumberOfWheel.ThreeWheel; + } + } + } + + + + + public void DrawWheel(Graphics g, int _startPosX, int _startPosY) + { + + Brush br = new SolidBrush(Color.Black); + + + switch (numberOfWheel) + { + case NumberOfWheel.OneWheel: + g.FillEllipse(br, _startPosX + 120, _startPosY + 50, 25, 25); + break; + case NumberOfWheel.TwoWheel: + g.FillEllipse(br, _startPosX + 15, _startPosY + 50, 25, 25); + g.FillEllipse(br, _startPosX + 50, _startPosY + 50, 25, 25); + break; + case NumberOfWheel.ThreeWheel: + //колеса уборщика + g.FillEllipse(br, _startPosX + 15, _startPosY + 50, 25, 25); + g.FillEllipse(br, _startPosX + 120, _startPosY + 50, 25, 25); + g.FillEllipse(br, _startPosX + 50, _startPosY + 50, 25, 25); + break; + + } + + } +} diff --git a/Hard/Hard/DrawningYborshik.cs b/Hard/Hard/DrawningYborshik.cs new file mode 100644 index 0000000..2c36805 --- /dev/null +++ b/Hard/Hard/DrawningYborshik.cs @@ -0,0 +1,213 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static System.Windows.Forms.LinkLabel; + +namespace Hard; + +/// +/// Класс, отвечающий за прорисовку и перемещение объекта-сущности +/// +public class DrawningYborshik +{ + public DrawningWheel Wheel; + /// + /// Класс-сущность + /// + public EntityYborshik? EntityYborshik { get; private set; } + + /// + /// Ширина окна + /// + private int? _pictureWidth; + + /// + /// Высота окна + /// + private int? _pictureHeight; + + /// + /// Левая координата прорисовки автомобиля + /// + private int? _startPosX; + + /// + /// Верхняя кооридната прорисовки автомобиля + /// + private int? _startPosY; + + /// + /// Ширина прорисовки автомобиля + /// + private readonly int _drawningCarWidth = 140; + + /// + /// Высота прорисовки автомобиля + /// + private readonly int _drawningCarHeight = 70; + + /// + /// Инициализация полей объекта-класса + /// + /// Скорость + /// Вес автомобиля + /// Основной цвет + /// Дополнительный цвет + /// Признак наличия мигалок + /// Признак наличия ковша + + public bool Init(int speed, int weight, Color bodyColor, Color additionalColor, bool flashingLights, bool ladle) + { + EntityYborshik = new EntityYborshik(); + EntityYborshik.Init(speed, weight, bodyColor, additionalColor, flashingLights, ladle); + _pictureWidth = null; + _pictureHeight = null; + _startPosX = null; + _startPosY = null; + Wheel = new DrawningWheel(); + return true; + } + + /// + /// Установка границ поля + /// + /// Ширина поля + /// Высота поля + /// true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах + public bool SetPictureSize(int width, int height) + { + // TODO проверка, что объект "влезает" в размеры поля + // если влезает, сохраняем границы и корректируем позицию объекта, если она была уже установлена + if (_drawningCarWidth <= width || _drawningCarHeight <= height) + { + _pictureWidth = width; + _pictureHeight = height; + if (_startPosX != null && _startPosY != null) + if (_startPosX + _drawningCarWidth > _pictureWidth) + _startPosX = _pictureWidth - _drawningCarWidth; + if (_startPosY + _drawningCarHeight > _pictureHeight) + _startPosY = _pictureHeight - _drawningCarHeight; + return true; + } + else + return false; + } + + /// + /// Установка позиции + /// + /// Координата X + /// Координата Y + public void SetPosition(int x, int y) + { + if (!_pictureHeight.HasValue || !_pictureWidth.HasValue) + { + return; + } + // TODO если при установке объекта в эти координаты, он будет "выходить" за границы формы + // то надо изменить координаты, чтобы он оставался в этих границах + if (x < 0) + x = 0; + else if (x + _drawningCarWidth > _pictureWidth) + x = _pictureWidth.Value - _drawningCarWidth; + if (y < 0) + x = 0; + else if (y + _drawningCarHeight > _pictureHeight) + y = _pictureHeight.Value - _drawningCarHeight; + + _startPosX = x; + _startPosY = y; + + + } + /// + /// Изменение направления перемещения + /// + /// Направление + /// true - перемещене выполнено, false - перемещение невозможно + public bool MoveTransport(DirectionType direction) + { + if (EntityYborshik == null || !_startPosX.HasValue || !_startPosY.HasValue) + { + return false; + } + + switch (direction) + { + //влево + case DirectionType.Left: + if (_startPosX.Value - EntityYborshik.Step > 0) + { + _startPosX -= (int)EntityYborshik.Step; + } + return true; + //вверх + case DirectionType.Up: + if (_startPosY.Value - EntityYborshik.Step > 0) + { + _startPosY -= (int)EntityYborshik.Step; + } + return true; + // вправо + case DirectionType.Right: + //TODO прописать логику сдвига в право + if (_startPosX.Value + EntityYborshik.Step < _pictureWidth - _drawningCarWidth) + { + _startPosX += (int)EntityYborshik.Step; + } + return true; + //вниз + case DirectionType.Down: + //TODO прописать логику сдвига в вниз + if (_startPosY.Value + EntityYborshik.Step < _pictureHeight - _drawningCarHeight) + { + _startPosY += (int)EntityYborshik.Step; + } + return true; + default: + return false; + } + } + + /// + /// Прорисовка объекта + /// + /// + public void DrawTransport(Graphics g) + { + Wheel.DrawWheel(g, _startPosX.Value, _startPosY.Value); + if (EntityYborshik == null || !_startPosX.HasValue || !_startPosY.HasValue) + { + return; + } + + + Brush additionalBrush = new SolidBrush(EntityYborshik.AdditionalColor); + Pen additionalPen = new(EntityYborshik.AdditionalColor); + // баки + if (EntityYborshik.Ladle) + { + g.FillEllipse(additionalBrush, _startPosX.Value + 10, _startPosY.Value, 105, 32); + } + // щетка + if (EntityYborshik.FlashingLights) + { + g.DrawLine(additionalPen, _startPosX.Value + 80, _startPosY.Value + 50, _startPosX.Value + 80, _startPosY.Value + 75); + g.DrawLine(additionalPen, _startPosX.Value + 80, _startPosY.Value + 50, _startPosX.Value + 90, _startPosY.Value + 75); + g.DrawLine(additionalPen, _startPosX.Value + 80, _startPosY.Value + 50, _startPosX.Value + 100, _startPosY.Value + 75); + g.DrawLine(additionalPen, _startPosX.Value + 80, _startPosY.Value + 50, _startPosX.Value + 110, _startPosY.Value + 75); + g.DrawLine(additionalPen, _startPosX.Value + 80, _startPosY.Value + 50, _startPosX.Value + 120, _startPosY.Value + 75); + } + Brush br = new SolidBrush(EntityYborshik.BodyColor); + + //кузов уборщика + g.FillRectangle(br, _startPosX.Value + 10, _startPosY.Value + 30, 140, 20); + g.FillRectangle(br, _startPosX.Value + 115, _startPosY.Value, 35, 30); + + + } +} + + diff --git a/Hard/Hard/EntityYborshik.cs b/Hard/Hard/EntityYborshik.cs new file mode 100644 index 0000000..7d4d803 --- /dev/null +++ b/Hard/Hard/EntityYborshik.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Hard; + +public class EntityYborshik +{ + /// + /// Скорость + /// + 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 FlashingLights { get; private set; } + + /// + /// Признак (опция) наличия бака под воду + /// + public bool Ladle { get; private set; } + + /// + /// Шаг перемещения уборочной машины + /// + public double Step => Speed * 100 / Weight; + + /// + /// Инициализация полей объекта-класса спортивного автомобиля + /// + /// Скорость + /// Вес автомобиля + /// Основной цвет + /// Дополнительный цвет + /// Признак наличия мигалок + /// Признак наличия ковша + public void Init(int speed, int weight, Color bodyColor, Color additionalColor, bool flashingLights, bool ladle) + { + Speed = speed; + Weight = weight; + BodyColor = bodyColor; + AdditionalColor = additionalColor; + FlashingLights = flashingLights; + Ladle = ladle; + } +} + diff --git a/Hard/Hard/Form1.Designer.cs b/Hard/Hard/Form1.Designer.cs deleted file mode 100644 index 1cdacbd..0000000 --- a/Hard/Hard/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace Hard -{ - 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/Hard/Hard/Form1.cs b/Hard/Hard/Form1.cs deleted file mode 100644 index b3a90fd..0000000 --- a/Hard/Hard/Form1.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Hard -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} diff --git a/Hard/Hard/FormYborshik.Designer.cs b/Hard/Hard/FormYborshik.Designer.cs new file mode 100644 index 0000000..3ac765b --- /dev/null +++ b/Hard/Hard/FormYborshik.Designer.cs @@ -0,0 +1,147 @@ +namespace Hard +{ + partial class FormYborshik + { + /// + /// 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() + { + pictureBoxYborshik = new PictureBox(); + buttonCreate = new Button(); + numericUpDownwheelYborshik = new NumericUpDown(); + buttonLeft = new Button(); + buttonDown = new Button(); + buttonRight = new Button(); + buttonUp = new Button(); + ((System.ComponentModel.ISupportInitialize)pictureBoxYborshik).BeginInit(); + ((System.ComponentModel.ISupportInitialize)numericUpDownwheelYborshik).BeginInit(); + SuspendLayout(); + // + // pictureBoxYborshik + // + pictureBoxYborshik.Dock = DockStyle.Fill; + pictureBoxYborshik.Location = new Point(0, 0); + pictureBoxYborshik.Name = "pictureBoxYborshik"; + pictureBoxYborshik.Size = new Size(800, 450); + pictureBoxYborshik.TabIndex = 0; + pictureBoxYborshik.TabStop = false; + // + // buttonCreate + // + buttonCreate.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + buttonCreate.Location = new Point(0, 421); + buttonCreate.Name = "buttonCreate"; + buttonCreate.Size = new Size(94, 29); + buttonCreate.TabIndex = 1; + buttonCreate.Text = "Создать"; + buttonCreate.UseVisualStyleBackColor = true; + buttonCreate.Click += buttonCreate_Click; + // + // numericUpDownwheelYborshik + // + numericUpDownwheelYborshik.Location = new Point(91, 423); + numericUpDownwheelYborshik.Margin = new Padding(3, 4, 3, 4); + numericUpDownwheelYborshik.Name = "numericUpDownwheelYborshik"; + numericUpDownwheelYborshik.Size = new Size(150, 27); + numericUpDownwheelYborshik.TabIndex = 8; + // + // buttonLeft + // + buttonLeft.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonLeft.BackgroundImage = Properties.Resources.Strelkaleft; + buttonLeft.BackgroundImageLayout = ImageLayout.Stretch; + buttonLeft.Location = new Point(674, 415); + buttonLeft.Name = "buttonLeft"; + buttonLeft.Size = new Size(35, 35); + buttonLeft.TabIndex = 9; + buttonLeft.UseVisualStyleBackColor = true; + buttonLeft.Click += buttonMove_Click; + // + // buttonDown + // + buttonDown.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonDown.BackgroundImage = Properties.Resources.Strelkadown; + buttonDown.BackgroundImageLayout = ImageLayout.Stretch; + buttonDown.Location = new Point(704, 415); + buttonDown.Name = "buttonDown"; + buttonDown.Size = new Size(35, 35); + buttonDown.TabIndex = 10; + buttonDown.UseVisualStyleBackColor = true; + buttonDown.Click += buttonMove_Click; + // + // buttonRight + // + buttonRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonRight.BackgroundImage = Properties.Resources.Strelkaright; + buttonRight.BackgroundImageLayout = ImageLayout.Stretch; + buttonRight.Location = new Point(735, 415); + buttonRight.Name = "buttonRight"; + buttonRight.Size = new Size(35, 35); + buttonRight.TabIndex = 11; + buttonRight.UseVisualStyleBackColor = true; + buttonRight.Click += buttonMove_Click; + // + // buttonUp + // + buttonUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonUp.BackgroundImage = Properties.Resources.Strelkaup; + buttonUp.BackgroundImageLayout = ImageLayout.Stretch; + buttonUp.Location = new Point(704, 383); + buttonUp.Name = "buttonUp"; + buttonUp.Size = new Size(35, 35); + buttonUp.TabIndex = 12; + buttonUp.UseVisualStyleBackColor = true; + buttonUp.Click += buttonMove_Click; + // + // FormYborshik + // + AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(buttonUp); + Controls.Add(buttonRight); + Controls.Add(buttonDown); + Controls.Add(buttonLeft); + Controls.Add(numericUpDownwheelYborshik); + Controls.Add(buttonCreate); + Controls.Add(pictureBoxYborshik); + Name = "FormYborshik"; + Text = "FormYborshik"; + ((System.ComponentModel.ISupportInitialize)pictureBoxYborshik).EndInit(); + ((System.ComponentModel.ISupportInitialize)numericUpDownwheelYborshik).EndInit(); + ResumeLayout(false); + } + + #endregion + + private PictureBox pictureBoxYborshik; + private Button buttonCreate; + private NumericUpDown numericUpDownwheelYborshik; + private Button buttonLeft; + private Button buttonDown; + private Button buttonRight; + private Button buttonUp; + } +} \ No newline at end of file diff --git a/Hard/Hard/FormYborshik.cs b/Hard/Hard/FormYborshik.cs new file mode 100644 index 0000000..78c75e8 --- /dev/null +++ b/Hard/Hard/FormYborshik.cs @@ -0,0 +1,93 @@ +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 Hard +{ + public partial class FormYborshik : Form + { + /// + /// Поле-объект для прорисовки объекта + /// + private DrawningYborshik? _drawningYborshik; + + /// + /// Конструктор формы + /// + public FormYborshik() + { + InitializeComponent(); + } + + private void Draw() + { + if (_drawningYborshik == null) + { + return; + } + + Bitmap bmp = new(pictureBoxYborshik.Width, pictureBoxYborshik.Height); + Graphics gr = Graphics.FromImage(bmp); + _drawningYborshik.DrawTransport(gr); + pictureBoxYborshik.Image = bmp; + } + + /// + /// Обработка нажатия кнопки "Создать" + /// + /// + /// + + private void buttonCreate_Click(object sender, EventArgs e) + { + Random random = new(); + _drawningYborshik = new DrawningYborshik(); + _drawningYborshik.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))); + _drawningYborshik.SetPictureSize(pictureBoxYborshik.Width, pictureBoxYborshik.Height); + _drawningYborshik.SetPosition(random.Next(10, 100), random.Next(10, 100)); + _drawningYborshik.Wheel.WheelNum = (int)numericUpDownwheelYborshik.Value; + Draw(); + + } + private void buttonMove_Click(object sender, EventArgs e) + { + if (_drawningYborshik == null) + { + return; + } + + string name = ((Button)sender)?.Name ?? string.Empty; + bool result = false; + switch (name) + { + case "buttonUp": + result = _drawningYborshik.MoveTransport(DirectionType.Up); + break; + case "buttonDown": + result = _drawningYborshik.MoveTransport(DirectionType.Down); + break; + case "buttonLeft": + result = _drawningYborshik.MoveTransport(DirectionType.Left); + break; + case "buttonRight": + result = _drawningYborshik.MoveTransport(DirectionType.Right); + break; + } + + if (result) + { + Draw(); + } + } + } +} + diff --git a/Hard/Hard/Form1.resx b/Hard/Hard/FormYborshik.resx similarity index 93% rename from Hard/Hard/Form1.resx rename to Hard/Hard/FormYborshik.resx index 1af7de1..af32865 100644 --- a/Hard/Hard/Form1.resx +++ b/Hard/Hard/FormYborshik.resx @@ -1,17 +1,17 @@  - diff --git a/Hard/Hard/Hard.csproj b/Hard/Hard/Hard.csproj index 663fdb8..af03d74 100644 --- a/Hard/Hard/Hard.csproj +++ b/Hard/Hard/Hard.csproj @@ -8,4 +8,19 @@ enable + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/Hard/Hard/NumberOfWheel.cs b/Hard/Hard/NumberOfWheel.cs new file mode 100644 index 0000000..35a97d0 --- /dev/null +++ b/Hard/Hard/NumberOfWheel.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Hard; +/// +/// Количество колес +/// +public enum NumberOfWheel +{ + /// + /// 1 колесо + /// + OneWheel, + /// + /// 2 колеса + /// + TwoWheel, + /// + /// 3 колеса + /// + ThreeWheel + +} + \ No newline at end of file diff --git a/Hard/Hard/Program.cs b/Hard/Hard/Program.cs index c7fad6d..595ba7b 100644 --- a/Hard/Hard/Program.cs +++ b/Hard/Hard/Program.cs @@ -11,7 +11,7 @@ namespace Hard // 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 FormYborshik()); } } } \ No newline at end of file diff --git a/Hard/Hard/Properties/Resources.Designer.cs b/Hard/Hard/Properties/Resources.Designer.cs new file mode 100644 index 0000000..a15d3bd --- /dev/null +++ b/Hard/Hard/Properties/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace Hard.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("Hard.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 Strelkadown { + get { + object obj = ResourceManager.GetObject("Strelkadown", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Strelkaleft { + get { + object obj = ResourceManager.GetObject("Strelkaleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Strelkaright { + get { + object obj = ResourceManager.GetObject("Strelkaright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Strelkaup { + get { + object obj = ResourceManager.GetObject("Strelkaup", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/Hard/Hard/Properties/Resources.resx b/Hard/Hard/Properties/Resources.resx new file mode 100644 index 0000000..6005833 --- /dev/null +++ b/Hard/Hard/Properties/Resources.resx @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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\Strelkadown.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Strelkaleft.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Strelkaright.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Strelkaup.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Hard/Hard/Resources/Strelkadown.jpg b/Hard/Hard/Resources/Strelkadown.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e63d1661770d6f63bf5f1f336295f2114a04fb2a GIT binary patch literal 21088 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 DS_fED literal 0 HcmV?d00001 diff --git a/Hard/Hard/Resources/Strelkaleft.jpg b/Hard/Hard/Resources/Strelkaleft.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4a5c5a264112bd3df1b94596055a5eb0a33a960e GIT binary patch literal 21129 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 xMjjpo=o^aes9cWY-ws{|!du>?ltX^RC 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 literal 0 HcmV?d00001 diff --git a/Hard/Hard/Resources/Strelkaup.jpg b/Hard/Hard/Resources/Strelkaup.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4d69fb1edfb3cf923c918da90a6f38f7eafd960c GIT binary patch literal 21126 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