From 8b84170cd09801aef4e639e748f36b4834e0ad13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9B=D0=B5=D0=BE=D0=BD=D0=B8=D0=B4=20=D0=9C=D0=B0=D0=BB?= =?UTF-8?q?=D0=B0=D1=84=D0=B5=D0=B5=D0=B2?= Date: Mon, 25 Sep 2023 11:15:05 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D0=B0=D1=8F=D0=9B?= =?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?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cruiser/Cruiser.csproj | 15 ++ Cruiser/Cruiser.sln | 12 +- Cruiser/Direction.cs | 28 +++ Cruiser/DrawingCruiser.cs | 209 +++++++++++++++++++++++ Cruiser/EntityCruiser.cs | 55 ++++++ Cruiser/Form1.Designer.cs | 39 ----- Cruiser/Form1.cs | 10 -- Cruiser/FormCruiser.Designer.cs | 129 ++++++++++++++ Cruiser/FormCruiser.cs | 80 +++++++++ Cruiser/{Form1.resx => FormCruiser.resx} | 50 +++--- Cruiser/Program.cs | 2 +- Cruiser/Properties/Resources.Designer.cs | 103 +++++++++++ Cruiser/Properties/Resources.resx | 133 +++++++++++++++ Cruiser/resources/Down.jpg | Bin 0 -> 2612 bytes Cruiser/resources/Left.jpg | Bin 0 -> 2571 bytes Cruiser/resources/Right.jpg | Bin 0 -> 2601 bytes Cruiser/resources/Up.jpg | Bin 0 -> 2523 bytes Cruiser/resources/someLost.txt | 31 ++++ 18 files changed, 815 insertions(+), 81 deletions(-) create mode 100644 Cruiser/Direction.cs create mode 100644 Cruiser/DrawingCruiser.cs create mode 100644 Cruiser/EntityCruiser.cs delete mode 100644 Cruiser/Form1.Designer.cs delete mode 100644 Cruiser/Form1.cs create mode 100644 Cruiser/FormCruiser.Designer.cs create mode 100644 Cruiser/FormCruiser.cs rename Cruiser/{Form1.resx => FormCruiser.resx} (93%) create mode 100644 Cruiser/Properties/Resources.Designer.cs create mode 100644 Cruiser/Properties/Resources.resx create mode 100644 Cruiser/resources/Down.jpg create mode 100644 Cruiser/resources/Left.jpg create mode 100644 Cruiser/resources/Right.jpg create mode 100644 Cruiser/resources/Up.jpg create mode 100644 Cruiser/resources/someLost.txt diff --git a/Cruiser/Cruiser.csproj b/Cruiser/Cruiser.csproj index b57c89e..13ee123 100644 --- a/Cruiser/Cruiser.csproj +++ b/Cruiser/Cruiser.csproj @@ -8,4 +8,19 @@ enable + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/Cruiser/Cruiser.sln b/Cruiser/Cruiser.sln index 9d9e847..9da485e 100644 --- a/Cruiser/Cruiser.sln +++ b/Cruiser/Cruiser.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.7.34024.191 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cruiser", "Cruiser.csproj", "{756E194C-4DC4-4A91-A93C-3E903FABED76}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cruiser", "Cruiser.csproj", "{4B55C43E-7DDF-4DA6-A186-7244085169A8}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -11,15 +11,15 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {756E194C-4DC4-4A91-A93C-3E903FABED76}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {756E194C-4DC4-4A91-A93C-3E903FABED76}.Debug|Any CPU.Build.0 = Debug|Any CPU - {756E194C-4DC4-4A91-A93C-3E903FABED76}.Release|Any CPU.ActiveCfg = Release|Any CPU - {756E194C-4DC4-4A91-A93C-3E903FABED76}.Release|Any CPU.Build.0 = Release|Any CPU + {4B55C43E-7DDF-4DA6-A186-7244085169A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4B55C43E-7DDF-4DA6-A186-7244085169A8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4B55C43E-7DDF-4DA6-A186-7244085169A8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4B55C43E-7DDF-4DA6-A186-7244085169A8}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {034E99D7-3DC1-49BB-86DA-3314CC18DE34} + SolutionGuid = {45C16C6A-A71C-4A65-8704-F821496C7C82} EndGlobalSection EndGlobal diff --git a/Cruiser/Direction.cs b/Cruiser/Direction.cs new file mode 100644 index 0000000..5e21cb7 --- /dev/null +++ b/Cruiser/Direction.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Cruiser +{ + public enum Direction + { + /// + /// Вверх + /// + Up = 1, + /// + /// Вниз + /// + Down = 2, + /// + /// Влево + /// + Left = 3, + /// + /// Вправо + /// + Right = 4 + } +} diff --git a/Cruiser/DrawingCruiser.cs b/Cruiser/DrawingCruiser.cs new file mode 100644 index 0000000..cec146d --- /dev/null +++ b/Cruiser/DrawingCruiser.cs @@ -0,0 +1,209 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Cruiser +{ + public class DrawingCruiser + { + /// + /// Класс-сущность + /// + public EntityCruiser? EntityCruiser { get; private set; } + /// + /// Ширина окна + /// + private int _pictureWidth; + /// + /// Высота окна + /// + private int _pictureHeight; + /// + /// Левая координата прорисовки Крейсера + /// + private static int _startPosX; + /// + /// Верхняя кооридната прорисовки Крейсера + /// + private static int _startPosY; + /// + /// Ширина прорисовки Крейсера + /// + private readonly int _cruiserWidth = 150; + /// + /// Высота прорисовки Крейсера + /// + private readonly int _cruiserHeight = 60; + /// + /// Цвет для палубы + /// + public Color PalubaColor { get; private set; } + /// + /// Цвет для элементов + /// + public Color ElementsColor { get; private set; } + /// + /// Цвет для дополнений + /// + public Color DopColor { get; private set; } + /// + /// Шахты + /// + public bool Mines { get; private set; } + /// + /// Верт. площадка + /// + public bool HelicopPad { get; private set; } + /// + /// Инициализация свойств + /// + /// Скорость + /// Вес автомобиля + /// Основной цвет + /// Элементов цвет + /// Дополнений цвет + /// Признак наличия ракетных шахт + /// Признак наличия вертолётной площадки + /// Ширина картинки + /// Высота картинки + /// true - объект создан, false - проверка не пройдена, + ///нельзя создать объект в этих размерах + public bool Init(int speed, double weight, Color bodyColor, Color secColor, Color dopColor, bool rocketMines, bool helipad, int width, int height) + { + if (width < _cruiserWidth || height < _cruiserHeight) + { + _pictureHeight = _cruiserHeight + 100; + _pictureWidth = _cruiserWidth + 100; + } + _pictureWidth = width; + _pictureHeight = height; + PalubaColor = bodyColor; + ElementsColor = secColor; + DopColor = dopColor; + Mines = rocketMines; + HelicopPad = helipad; + EntityCruiser = new EntityCruiser(); + EntityCruiser.Init(speed, weight, bodyColor, secColor, rocketMines, helipad); + return true; + } + /// + /// Установка позиции + /// + /// Координата X + /// Координата Y + public void SetPosition(int x, int y) + { + if (x < 0 || y < 0) + { + return; + } + if (x > _pictureWidth || y > _pictureHeight) + { + return; + } + _startPosX = x; + _startPosY = y; + } + /// + /// Изменение направления перемещения + /// + /// Направление + public void MoveTransport(Direction direction) + { + if (EntityCruiser == null) + { + return; + } + switch (direction) + { + //влево + case Direction.Left: + if (_startPosX - EntityCruiser.Step > 0) + { + _startPosX -= (int)EntityCruiser.Step; + } + break; + //вверх + case Direction.Up: + if (_startPosY - EntityCruiser.Step > 0) + { + _startPosY -= (int)EntityCruiser.Step; + } + break; + // вправо + case Direction.Right: + if (_startPosX + EntityCruiser.Step < _pictureWidth - _cruiserWidth) + { + _startPosX += (int)EntityCruiser.Step; + } + break; + //вниз + case Direction.Down: + if (_startPosY + EntityCruiser.Step < _pictureHeight - _cruiserHeight) + { + _startPosY += (int)EntityCruiser.Step; + } + break; + } + } + + + /// + /// Прорисовка объекта + /// + /// + public void DrawTransport(Graphics g) + { + if (EntityCruiser == null) + { + return; + } + // палуба + Point[] Paluba = new Point[5] + { + new Point(_startPosX + 10,_startPosY), + new Point(_startPosX + 110,_startPosY), + new Point(_startPosX + 160,_startPosY + 30), + new Point(_startPosX + 110,_startPosY + 60), + new Point(_startPosX + 10,_startPosY + 60) + }; + Brush brush = new SolidBrush(PalubaColor); + g.FillPolygon(brush, Paluba); + // элементы + Point[] Elements = new Point[8] + { + new Point(_startPosX + 50,_startPosY + 20), + new Point(_startPosX + 70,_startPosY + 20), + new Point(_startPosX + 70,_startPosY + 10), + new Point(_startPosX + 90,_startPosY + 10), + new Point(_startPosX + 90,_startPosY + 50), + new Point(_startPosX + 70,_startPosY + 50), + new Point(_startPosX + 70,_startPosY + 40), + new Point(_startPosX + 50,_startPosY + 40), + }; + Brush brushElem = new SolidBrush(ElementsColor); + g.FillPolygon(brushElem, Elements); + g.FillEllipse(brushElem, _startPosX + 100, _startPosY + 20, 20, 20); + // турбины + Brush Turbins = new SolidBrush(Color.Black); + g.FillRectangle(Turbins, _startPosX, _startPosY + 10, 10, 20); + g.FillRectangle(Turbins, _startPosX, _startPosY + 35, 10, 20); + // шахты + if (Mines) + { + Brush DopBrush = new SolidBrush(DopColor); + g.FillRectangle(DopBrush, _startPosX + 15, _startPosY + 10, 10, 15); + g.FillRectangle(DopBrush, _startPosX + 30, _startPosY + 10, 10, 15); + } + // верт площадка + if (HelicopPad) + { + Brush DopBrush = new SolidBrush(DopColor); + g.FillEllipse(DopBrush, _startPosX + 15, _startPosY + 25, 25, 25); + } + } + + } +} diff --git a/Cruiser/EntityCruiser.cs b/Cruiser/EntityCruiser.cs new file mode 100644 index 0000000..6566ecf --- /dev/null +++ b/Cruiser/EntityCruiser.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Cruiser +{ + public class EntityCruiser + { + /// + /// Скорость + /// + public int Speed { get; private set; } + /// + /// Вес + /// + public double Weight { get; private set; } + /// + /// Основной цвет + /// + public Color BodyColor { get; private set; } + /// + /// Второстепенный цвет + /// + public Color SecondColor { get; private set; } + /// + /// Признак (опция) наличия ракетных шахт + /// + public bool RocketMines { get; private set; } + /// + /// Признак (опция) наличия вертолётной площадки + /// + public bool Helipad { get; private set; } + /// + /// Шаг перемещения Крейсера + /// + public double Step => (double)Speed * 100 / Weight; + /// Скорость + /// Вес Крейсера + /// Основной цвет + /// Второстепенный цвет + /// Признак наличия ракетных шахт + /// Признак наличия вертолётной площадки + public void Init(int speed, double weight, Color bodyColor, Color secColor, bool rocketMines, bool helipad) + { + Speed = speed; + Weight = weight; + BodyColor = bodyColor; + SecondColor = secColor; + RocketMines = rocketMines; + Helipad = helipad; + } + } +} diff --git a/Cruiser/Form1.Designer.cs b/Cruiser/Form1.Designer.cs deleted file mode 100644 index 95fc312..0000000 --- a/Cruiser/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace Cruiser -{ - 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/Cruiser/Form1.cs b/Cruiser/Form1.cs deleted file mode 100644 index cda6114..0000000 --- a/Cruiser/Form1.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Cruiser -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} \ No newline at end of file diff --git a/Cruiser/FormCruiser.Designer.cs b/Cruiser/FormCruiser.Designer.cs new file mode 100644 index 0000000..fb2e247 --- /dev/null +++ b/Cruiser/FormCruiser.Designer.cs @@ -0,0 +1,129 @@ +namespace Cruiser +{ + partial class FormCruiser + { + /// + /// 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() + { + pictureBoxCruiser = new PictureBox(); + buttonCreate = new Button(); + buttonRight = new Button(); + buttonDown = new Button(); + buttonLeft = new Button(); + buttonUp = new Button(); + ((System.ComponentModel.ISupportInitialize)pictureBoxCruiser).BeginInit(); + SuspendLayout(); + // + // pictureBoxCruiser + // + pictureBoxCruiser.Dock = DockStyle.Fill; + pictureBoxCruiser.Location = new Point(0, 0); + pictureBoxCruiser.Name = "pictureBoxCruiser"; + pictureBoxCruiser.Size = new Size(800, 450); + pictureBoxCruiser.TabIndex = 0; + pictureBoxCruiser.TabStop = false; + // + // buttonCreate + // + buttonCreate.Location = new Point(12, 402); + buttonCreate.Name = "buttonCreate"; + buttonCreate.Size = new Size(125, 36); + buttonCreate.TabIndex = 1; + buttonCreate.Text = "Создать"; + buttonCreate.UseVisualStyleBackColor = true; + buttonCreate.Click += buttonCreate_Click; + // + // buttonRight + // + buttonRight.BackgroundImage = Properties.Resources.Right; + buttonRight.BackgroundImageLayout = ImageLayout.Zoom; + buttonRight.Location = new Point(758, 408); + buttonRight.Name = "buttonRight"; + buttonRight.Size = new Size(30, 30); + buttonRight.TabIndex = 2; + buttonRight.UseVisualStyleBackColor = true; + buttonRight.Click += ButtonMove_Click; + // + // buttonDown + // + buttonDown.BackgroundImage = Properties.Resources.Down; + buttonDown.BackgroundImageLayout = ImageLayout.Zoom; + buttonDown.Location = new Point(722, 408); + buttonDown.Name = "buttonDown"; + buttonDown.Size = new Size(30, 30); + buttonDown.TabIndex = 3; + buttonDown.UseVisualStyleBackColor = true; + buttonDown.Click += ButtonMove_Click; + // + // buttonLeft + // + buttonLeft.BackgroundImage = Properties.Resources.Left; + buttonLeft.BackgroundImageLayout = ImageLayout.Zoom; + buttonLeft.Location = new Point(686, 408); + buttonLeft.Name = "buttonLeft"; + buttonLeft.Size = new Size(30, 30); + buttonLeft.TabIndex = 4; + buttonLeft.UseVisualStyleBackColor = true; + buttonLeft.Click += ButtonMove_Click; + // + // buttonUp + // + buttonUp.BackgroundImage = Properties.Resources.Up; + buttonUp.BackgroundImageLayout = ImageLayout.Zoom; + buttonUp.Location = new Point(722, 372); + buttonUp.Name = "buttonUp"; + buttonUp.Size = new Size(30, 30); + buttonUp.TabIndex = 5; + buttonUp.UseVisualStyleBackColor = true; + buttonUp.Click += ButtonMove_Click; + // + // FormCruiser + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(buttonUp); + Controls.Add(buttonLeft); + Controls.Add(buttonDown); + Controls.Add(buttonRight); + Controls.Add(buttonCreate); + Controls.Add(pictureBoxCruiser); + Name = "FormCruiser"; + Text = "Cruiser"; + ((System.ComponentModel.ISupportInitialize)pictureBoxCruiser).EndInit(); + ResumeLayout(false); + } + + #endregion + + private PictureBox pictureBoxCruiser; + private Button buttonCreate; + private Button buttonRight; + private Button buttonDown; + private Button buttonLeft; + private Button buttonUp; + } +} \ No newline at end of file diff --git a/Cruiser/FormCruiser.cs b/Cruiser/FormCruiser.cs new file mode 100644 index 0000000..b6e285e --- /dev/null +++ b/Cruiser/FormCruiser.cs @@ -0,0 +1,80 @@ +using System; + +namespace Cruiser +{ + public partial class FormCruiser : Form + { + Bitmap bmp; + /// + /// - + /// + private DrawingCruiser? _drawningCruiser; + /// + /// + /// + public FormCruiser() + { + InitializeComponent(); + bmp = new(pictureBoxCruiser.Width, pictureBoxCruiser.Width); + } + + + /// + /// + /// + private void Draw() + { + if (_drawningCruiser == null) + { + return; + } + + Graphics gr = Graphics.FromImage(bmp); + gr.Clear(Color.White); + _drawningCruiser.DrawTransport(gr); + pictureBoxCruiser.Image = bmp; + + } + + private void ButtonMove_Click(object sender, EventArgs e) + { + if (_drawningCruiser == null) + { + return; + } + string name = ((Button)sender)?.Name ?? string.Empty; + switch (name) + { + case "buttonUp": + _drawningCruiser.MoveTransport(Direction.Up); + break; + case "buttonDown": + _drawningCruiser.MoveTransport(Direction.Down); + break; + case "buttonLeft": + _drawningCruiser.MoveTransport(Direction.Left); + break; + case "buttonRight": + _drawningCruiser.MoveTransport(Direction.Right); + break; + } + Draw(); + } + private void buttonCreate_Click(object sender, EventArgs e) + { + Random random = new(); + _drawningCruiser = new DrawingCruiser(); + _drawningCruiser.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)), + 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)), + pictureBoxCruiser.Width, + pictureBoxCruiser.Height); + _drawningCruiser.SetPosition(random.Next(10, 100), random.Next(10, 100)); + Draw(); + } + } +} \ No newline at end of file diff --git a/Cruiser/Form1.resx b/Cruiser/FormCruiser.resx similarity index 93% rename from Cruiser/Form1.resx rename to Cruiser/FormCruiser.resx index 1af7de1..af32865 100644 --- a/Cruiser/Form1.resx +++ b/Cruiser/FormCruiser.resx @@ -1,17 +1,17 @@  - diff --git a/Cruiser/Program.cs b/Cruiser/Program.cs index d0f2665..626bc14 100644 --- a/Cruiser/Program.cs +++ b/Cruiser/Program.cs @@ -11,7 +11,7 @@ namespace Cruiser // 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 FormCruiser()); } } } \ No newline at end of file diff --git a/Cruiser/Properties/Resources.Designer.cs b/Cruiser/Properties/Resources.Designer.cs new file mode 100644 index 0000000..3d63f49 --- /dev/null +++ b/Cruiser/Properties/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace Cruiser.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("Cruiser.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 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/Cruiser/Properties/Resources.resx b/Cruiser/Properties/Resources.resx new file mode 100644 index 0000000..3c74f22 --- /dev/null +++ b/Cruiser/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\Left.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\Down.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\Up.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\Right.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Cruiser/resources/Down.jpg b/Cruiser/resources/Down.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d72cdc5baddf6d322362778f81761af1e75f8c17 GIT binary patch literal 2612 zcmbW1dpOkF8pqdMm@$;bB@s=zlxwzYDj8kmmfXs?>`VyZ$R(nl7~7priI{eD&M-E1 zQj=R$B9|z%g>o;(L`1tGO+T5L-}#N*+2=W(e|G0x>-#+GdDeQ@dOz>`J_{a#C%`(p zgSH0&3WWm4kpW;fP_>E;3IM>t0cZmN@W`GFz#uCWGFA;91^WRSg%ZuLh7rSvOdN~F zh~dO>IFaxYk`j140guBG)({AiQi$Os)=ICDS}R(ME)ltlypSn{$KgdMzR%!CfQSdt z;0y+(3eZFphKPdO011gz3?ULheKiysgB24;LLx{a2Wr&l7C9Y<>;o)O zOlFJ0UU6AxADn80oZ(N|MR>J+mCf=ly!g_@bib@(=w`po=8=IK!Fx$Cn z{{gFm);6|wu1Ai#QQSQ|{Z9A?1fC2EJ{=W(CMNdmxuoQj)U@=B%$zH^dGxD4U(06} z|58#~_Un!Es_L5ByLI*V?zgnIJ#O!K^0c$B|HaFJ!J*+1_9W-c)b!h#*>?+zAD2Gy zK10i2L|iC<`2*`uvTwME2p1Zu0Tw6XLZM?2VTf3E-X+KZMQ~=Nw}g zS#KPxxTutCsOyhu_v)rLlc9?gUMUQUa1+u(2@{&o<2i0gU`6|Zyr9H-?*M~+(vL`d znP3?3tBZwdM+G;UX7)lD7$iDSVL*>U3CJ#CimYkL|J{q8g8|pE2io1rdHY^=C7iz% zis3k>HQ`Tid)lPsXN8Ilp)&o>m5p^PQL`b+3tc8-vn%&BY!yA#rnL>l|6ZSMNiO=L z$xI-8BQhBV6Eow>d#yVhR}yIN_Lfo>an!-Le3gwb(A0!xVGu4YurclwTF$H{lT}Eb zxYD$kJ3d?{>|~|DVCh2$l|1;I#I+q?whNo@hk-w(1qNSYY73>`FJ@{MqW?>rMw9sG zLX@DuTrcc4|KLJLvN@*c)v;U2N?92u7vi)BLQ<`>eLMoAT({V~IbQfC*)J=X(@kd2 zldF0J%5_Kr%{;APpzeh0K~fSG#xE@9lnEY@KW*;US;ny5#R%8#Mlzbr$3Rm^5l=u} z>@X}p9NN#3mJMbMF?{=s9TkH{QUv2yZwD`U2r4&Jn z*T|69<8m+aYI~i_+3o2S-Sd`5u{q!wphe_TL_zaN!-2v}UPzND>#4yYM~fz+dqP@_ zWB?kM9Yo@1TW*4Z)mEXAy``9(^QuS%h-U=SIz$H2q>0t>zj-Ua;N!|K&@vbjDT3EY z#jk9YO)be7eIT!m}q`kE$68s!?G zGHzABV{g30%-y7C=~Z5yv5T+O3G}+{ZR#=UnKF{}&GM2`ZPruve?#%h!=985WPRtW zfleqZIVaR%{d(7+Q9KOxoCHJG%X3sGTC-NuMD92d>DP+!njhmOxQA%N@ua@)7;o(b zhZo}Z(o(~fn|CKrp4DFosW4^dmH7J}is&$|WN_`mAdMYuVUP~_y`ntsTsQ^yQzDk^L*nN8Ela~$3VL5hVk@-OUa3f!Z>&T0{m zR&-jwxCPYT`#D4Z)6I5*#>0kO)byBbZR8N4{DyLfvU7)0!WmNac(aN=FBFoTprxHt zX)lUq#^NmRaHko2meN1FdJT_ShsoMK`L%Rk_6^_ia$7T}A8`Iwa=`hkT+cV2KFmxY z>yjtfj?fO49a3>Rh&gvoZ|ts8DkJU`@3Y$u;!ay1`Zg3NTgAh}9bICx znMfUXy!u=xk*47>K$JEN&?d3hNI9m;*}|89+@i3%9hobX<44ew2T z-IUeVSfi1aS}}B4<&lo4Py-voJNv3Cx0-SC-C@AW8uH`GL8pH`m*b|cKI(66%p3T!63esbf>J90d1qqzh&|bAZju4 z@x{{Yx(5}Eh#JD$*yaOubvX&kY*f5Kr8#S(s|Dk=HwQEZyb41Sx){rZ^hcA1Rce*!z17E)v22~B@l7Ns4*V1!f n;Ms7T={5S)a#Ltq0YxvNyga+T^09IRtJ2vD$bE-s@bJF?=M#|c literal 0 HcmV?d00001 diff --git a/Cruiser/resources/Left.jpg b/Cruiser/resources/Left.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3fb06924713687e29a40413375c0ffb7ebda419d GIT binary patch literal 2571 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 AFaQ7m literal 0 HcmV?d00001 diff --git a/Cruiser/resources/Right.jpg b/Cruiser/resources/Right.jpg new file mode 100644 index 0000000000000000000000000000000000000000..35ee73a1824517552396d7ccf6eddadf34aaa283 GIT binary patch literal 2601 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 literal 0 HcmV?d00001 diff --git a/Cruiser/resources/someLost.txt b/Cruiser/resources/someLost.txt new file mode 100644 index 0000000..853cc2e --- /dev/null +++ b/Cruiser/resources/someLost.txt @@ -0,0 +1,31 @@ + private void Form1_Load(object sender, EventArgs e) + { + + } + + private void pictureBoxCruiser_Click(object sender, EventArgs e) + { + + } + + #region buttonsClick + private void buttonLeft_Click(object sender, EventArgs e) + { + + } + + private void buttonDown_Click(object sender, EventArgs e) + { + + } + + private void buttonUp_Click(object sender, EventArgs e) + { + + } + + private void buttonRight_Click(object sender, EventArgs e) + { + + } + #endregion; \ No newline at end of file -- 2.25.1