From c4161a865c1a3c5c46242545b92d85bf2d9c72cd Mon Sep 17 00:00:00 2001 From: "miromax6005@gmail.com" Date: Fri, 16 Feb 2024 21:47:41 +0400 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=20=E2=84=961?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjectBoat/ProjectBoat/DirectionType.cs | 27 +++ ProjectBoat/ProjectBoat/DrawningBoat.cs | 203 ++++++++++++++++++ ProjectBoat/ProjectBoat/EntityBoat.cs | 60 ++++++ ProjectBoat/ProjectBoat/Form1.Designer.cs | 39 ---- ProjectBoat/ProjectBoat/Form1.cs | 10 - ProjectBoat/ProjectBoat/FormBoat.Designer.cs | 134 ++++++++++++ ProjectBoat/ProjectBoat/FormBoat.cs | 89 ++++++++ .../ProjectBoat/{Form1.resx => FormBoat.resx} | 50 ++--- ProjectBoat/ProjectBoat/Program.cs | 2 +- ProjectBoat/ProjectBoat/ProjectBoat.csproj | 15 ++ .../Properties/Resources.Designer.cs | 103 +++++++++ .../ProjectBoat/Properties/Resources.resx | 133 ++++++++++++ .../ProjectBoat/Resources/вверх.jpg | Bin 0 -> 18946 bytes .../ProjectBoat/Resources/влево.jpg | Bin 0 -> 17533 bytes .../ProjectBoat/Resources/вниз.jpg | Bin 0 -> 19070 bytes .../ProjectBoat/Resources/вправо.jpg | Bin 0 -> 18120 bytes 16 files changed, 790 insertions(+), 75 deletions(-) create mode 100644 ProjectBoat/ProjectBoat/DirectionType.cs create mode 100644 ProjectBoat/ProjectBoat/DrawningBoat.cs create mode 100644 ProjectBoat/ProjectBoat/EntityBoat.cs delete mode 100644 ProjectBoat/ProjectBoat/Form1.Designer.cs delete mode 100644 ProjectBoat/ProjectBoat/Form1.cs create mode 100644 ProjectBoat/ProjectBoat/FormBoat.Designer.cs create mode 100644 ProjectBoat/ProjectBoat/FormBoat.cs rename ProjectBoat/ProjectBoat/{Form1.resx => FormBoat.resx} (93%) create mode 100644 ProjectBoat/ProjectBoat/Properties/Resources.Designer.cs create mode 100644 ProjectBoat/ProjectBoat/Properties/Resources.resx create mode 100644 ProjectBoat/ProjectBoat/Resources/вверх.jpg create mode 100644 ProjectBoat/ProjectBoat/Resources/влево.jpg create mode 100644 ProjectBoat/ProjectBoat/Resources/вниз.jpg create mode 100644 ProjectBoat/ProjectBoat/Resources/вправо.jpg diff --git a/ProjectBoat/ProjectBoat/DirectionType.cs b/ProjectBoat/ProjectBoat/DirectionType.cs new file mode 100644 index 0000000..b37c0cc --- /dev/null +++ b/ProjectBoat/ProjectBoat/DirectionType.cs @@ -0,0 +1,27 @@ +namespace ProjectBoat; + +/// +/// Направление перемещения +/// +public enum DirectionType +{ + /// + /// Вверх + /// + Up = 1, + + /// + /// Вниз + /// + Down = 2, + + /// + /// Влево + /// + Left = 3, + + /// + /// Вправо + /// + Right = 4, +} diff --git a/ProjectBoat/ProjectBoat/DrawningBoat.cs b/ProjectBoat/ProjectBoat/DrawningBoat.cs new file mode 100644 index 0000000..31f7dd6 --- /dev/null +++ b/ProjectBoat/ProjectBoat/DrawningBoat.cs @@ -0,0 +1,203 @@ +namespace ProjectBoat; +/// +/// Класс, отвечающий за прорисовку и перемещение объекта-сущности +/// +public class DrawningBoat +{ + /// + /// Класс-сущность + /// + public EntityBoat? EntityBoat { get; private set; } + + /// + /// Ширина окна + /// + public int? _pictireWight; + + /// + /// Высота окна + /// + public int? _pictireHeight; + + /// + /// Левая координата прорисовки катера + /// + public int? _startPosX; + + /// + /// Верхняя координата прорисовки катера + /// + public int? _startPosY; + + /// + /// Ширина прорисовки катера + /// + public readonly int _drawningBoatWight = 120; + + /// + /// Высота прорисовки катера + /// + public readonly int _drawningBoatHeight = 40; + + /// + /// Инициализация свойств + /// + /// Скорость + /// Вес + /// Основной цвет + /// Дополнительный цвет + /// Признак наличия спасательного круга + /// Признак наличия фонаря + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool lifebuoy, bool flashlight) + { + EntityBoat = new EntityBoat(); + EntityBoat.Init(speed, weight, bodyColor, additionalColor, lifebuoy, flashlight); + _pictireWight = null; + _pictireHeight = null; + _startPosX = null; + _startPosY = null; + } + + /// + /// Установка границ + /// + /// Ширина поля + /// Высота поля + /// true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах + public bool SetPictureSize(int width, int height) + { + // TODO проверка, что объект "влезает" в размеры поля + // если влезает, сохраняем границы и корректируем позицию объекта, если она была уже установлена + _pictireWight = width; + _pictireHeight = height; + return true; + } + + /// + /// Установка позиций + /// + /// Координата X + /// Координата Y + public void SetPosition(int x, int y) + { + if (!_pictireHeight.HasValue || !_pictireWight.HasValue) + { + return; + } + + // TODO если при установке объекта в эти координаты, он будет "выходить" за границы формы + // то надо изменить координаты, чтобы он омтавался в этих границах + _startPosX = x; + _startPosY = y; + } + + /// + /// Изменение направления перемещения + /// + /// Направление + /// true - перемещение выполнено, false - перемещение невозможно + public bool MoveTransport(DirectionType direction) + { + if (EntityBoat == null || !_startPosX.HasValue || !_startPosY.HasValue) + { + return false; + } + switch (direction) + { + //влево + case DirectionType.Left: + if (_startPosX.Value - EntityBoat.Step > 0) + { + _startPosX -= (int)EntityBoat.Step; + } + return true; + //вверх + case DirectionType.Up: + if (_startPosY.Value - EntityBoat.Step > 0) + { + _startPosY -= (int)EntityBoat.Step; + } + return true; + + + + // вправо + case DirectionType.Right: + if (_startPosX.Value + _drawningBoatWight + EntityBoat.Step < _pictireWight) + { + _startPosX += (int)EntityBoat.Step; + } + return true; + //вниз + case DirectionType.Down: + if (_startPosY.Value + _drawningBoatHeight + EntityBoat.Step < _pictireHeight) + { + _startPosY += (int)EntityBoat.Step; + } + return true; + default: + return false; + } + } + + /// + /// Прорисовка объекта + /// + /// + public void DrawTransport(Graphics g) + { + if (EntityBoat == null || !_startPosX.HasValue || !_startPosY.HasValue) + { + return; + } + + Pen pen = new(Color.Black); + Brush additionalBrush = new SolidBrush(EntityBoat.AdditionalColor); + + // фонари + if (EntityBoat.Flashlight) + { + g.DrawEllipse(pen, _startPosX.Value + 10, _startPosY.Value + 2, 10, 6); + g.DrawEllipse(pen, _startPosX.Value + 10, _startPosY.Value + 32, 10, 6); + + g.FillEllipse(additionalBrush, _startPosX.Value + 10, _startPosY.Value + 2, 10, 6); + g.FillEllipse(additionalBrush, _startPosX.Value + 10, _startPosY.Value + 32, 10, 6); + } + + // границы катера + g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value, _startPosX.Value + 100, _startPosY.Value); + g.DrawLine(pen, _startPosX.Value + 100, _startPosY.Value, _startPosX.Value + 120, _startPosY.Value + 20); + g.DrawLine(pen, _startPosX.Value + 120, _startPosY.Value + 20, _startPosX.Value + 100, _startPosY.Value + 40); + g.DrawLine(pen, _startPosX.Value + 100, _startPosY.Value + 40, _startPosX.Value + 10, _startPosY.Value + 40); + + // задняя часть + g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value + 40, _startPosX.Value + 10, _startPosY.Value + 30); + g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value + 30, _startPosX.Value, _startPosY.Value + 30); + g.DrawLine(pen, _startPosX.Value, _startPosY.Value + 30, _startPosX.Value + 10, _startPosY.Value + 40); + + g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value, _startPosX.Value + 10, _startPosY.Value + 10); + g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value + 10, _startPosX.Value, _startPosY.Value + 10); + g.DrawLine(pen, _startPosX.Value, _startPosY.Value + 10, _startPosX.Value + 10, _startPosY.Value); + + Brush brRed = new SolidBrush(Color.Red); + g.FillRectangle(brRed, _startPosX.Value + 5, _startPosY.Value + 10, 15, 20); + + // кузов + Brush br = new SolidBrush(EntityBoat.BodyColor); + g.FillRectangle(br, _startPosX.Value + 20, _startPosY.Value, 80, 40); + + // окно + Brush brBlue = new SolidBrush(Color.Blue); + g.FillEllipse(brBlue, _startPosX.Value + 30, _startPosY.Value + 10, 40, 20); + + // спасательный круг + if (EntityBoat.Lifebuoy) + { + g.DrawEllipse(pen, _startPosX.Value + 80, _startPosY.Value + 15, 15, 15); + g.DrawEllipse(pen, _startPosX.Value + 85, _startPosY.Value + 20, 5, 5); + + g.FillEllipse(additionalBrush, _startPosX.Value + 80, _startPosY.Value + 15, 15, 15); + g.FillEllipse(br, _startPosX.Value + 85, _startPosY.Value + 20, 5, 5); + } + } +} diff --git a/ProjectBoat/ProjectBoat/EntityBoat.cs b/ProjectBoat/ProjectBoat/EntityBoat.cs new file mode 100644 index 0000000..b564515 --- /dev/null +++ b/ProjectBoat/ProjectBoat/EntityBoat.cs @@ -0,0 +1,60 @@ +namespace ProjectBoat; +/// +/// Класс-сущность "Катер" +/// +public class EntityBoat +{ + /// + /// Скорость + /// + 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 Lifebuoy { get; private set; } + + /// + /// Признак (опция) наличия фонаря + /// + public bool Flashlight { get; private set; } + + /// + /// Шаг перемещения катера + /// + public double Step => Speed * 100 / Weight; + + /// + /// Инициализация полей объекта-класса катера + /// + /// Скорость + /// Вес катера + /// Основной цвет + /// Дополнительный цвет + /// Признак наличия спасательного круга + /// Признак наличия фонарей + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool lifebuoy, bool flashlight) + { + Speed = speed; + Weight = weight; + BodyColor = bodyColor; + AdditionalColor = additionalColor; + Lifebuoy = lifebuoy; + Flashlight = flashlight; + } +} \ No newline at end of file diff --git a/ProjectBoat/ProjectBoat/Form1.Designer.cs b/ProjectBoat/ProjectBoat/Form1.Designer.cs deleted file mode 100644 index 4ab4912..0000000 --- a/ProjectBoat/ProjectBoat/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace ProjectBoat -{ - 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/ProjectBoat/ProjectBoat/Form1.cs b/ProjectBoat/ProjectBoat/Form1.cs deleted file mode 100644 index 8e8c4e4..0000000 --- a/ProjectBoat/ProjectBoat/Form1.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace ProjectBoat -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} diff --git a/ProjectBoat/ProjectBoat/FormBoat.Designer.cs b/ProjectBoat/ProjectBoat/FormBoat.Designer.cs new file mode 100644 index 0000000..c01d471 --- /dev/null +++ b/ProjectBoat/ProjectBoat/FormBoat.Designer.cs @@ -0,0 +1,134 @@ +namespace ProjectBoat +{ + partial class FormBoat + { + /// + /// 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() + { + pictureBoxBoat = new PictureBox(); + buttonCreateBoat = new Button(); + buttonLeft = new Button(); + buttonRight = new Button(); + buttonDown = new Button(); + buttonUp = new Button(); + ((System.ComponentModel.ISupportInitialize)pictureBoxBoat).BeginInit(); + SuspendLayout(); + // + // pictureBoxBoat + // + pictureBoxBoat.Dock = DockStyle.Fill; + pictureBoxBoat.Location = new Point(0, 0); + pictureBoxBoat.Name = "pictureBoxBoat"; + pictureBoxBoat.Size = new Size(798, 419); + pictureBoxBoat.TabIndex = 0; + pictureBoxBoat.TabStop = false; + // + // buttonCreateBoat + // + buttonCreateBoat.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + buttonCreateBoat.Location = new Point(12, 378); + buttonCreateBoat.Name = "buttonCreateBoat"; + buttonCreateBoat.Size = new Size(94, 29); + buttonCreateBoat.TabIndex = 1; + buttonCreateBoat.Text = "Создать"; + buttonCreateBoat.UseVisualStyleBackColor = true; + buttonCreateBoat.Click += ButtonCreateBoat_Click; + // + // buttonLeft + // + buttonLeft.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonLeft.BackgroundImage = Properties.Resources.влево; + buttonLeft.BackgroundImageLayout = ImageLayout.Stretch; + buttonLeft.Location = new Point(668, 372); + buttonLeft.Name = "buttonLeft"; + buttonLeft.Size = new Size(35, 35); + buttonLeft.TabIndex = 2; + buttonLeft.UseVisualStyleBackColor = true; + buttonLeft.Click += ButtonMove_Click; + // + // buttonRight + // + buttonRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonRight.BackgroundImage = Properties.Resources.вправо; + buttonRight.BackgroundImageLayout = ImageLayout.Stretch; + buttonRight.Location = new Point(750, 372); + buttonRight.Name = "buttonRight"; + buttonRight.Size = new Size(35, 35); + buttonRight.TabIndex = 3; + buttonRight.UseVisualStyleBackColor = true; + buttonRight.Click += ButtonMove_Click; + // + // buttonDown + // + buttonDown.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonDown.BackgroundImage = Properties.Resources.вниз; + buttonDown.BackgroundImageLayout = ImageLayout.Stretch; + buttonDown.Location = new Point(709, 372); + buttonDown.Name = "buttonDown"; + buttonDown.Size = new Size(35, 35); + buttonDown.TabIndex = 4; + buttonDown.UseVisualStyleBackColor = true; + buttonDown.Click += ButtonMove_Click; + // + // buttonUp + // + buttonUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonUp.BackgroundImage = Properties.Resources.вверх; + buttonUp.BackgroundImageLayout = ImageLayout.Stretch; + buttonUp.Location = new Point(709, 328); + buttonUp.Name = "buttonUp"; + buttonUp.Size = new Size(35, 35); + buttonUp.TabIndex = 5; + buttonUp.UseVisualStyleBackColor = true; + buttonUp.Click += ButtonMove_Click; + // + // FormBoat + // + AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(798, 419); + Controls.Add(buttonUp); + Controls.Add(buttonDown); + Controls.Add(buttonRight); + Controls.Add(buttonLeft); + Controls.Add(buttonCreateBoat); + Controls.Add(pictureBoxBoat); + Name = "FormBoat"; + Text = "Катер"; + ((System.ComponentModel.ISupportInitialize)pictureBoxBoat).EndInit(); + ResumeLayout(false); + } + + #endregion + + private PictureBox pictureBoxBoat; + private Button buttonCreateBoat; + private Button buttonLeft; + private Button buttonRight; + private Button buttonDown; + private Button buttonUp; + } +} \ No newline at end of file diff --git a/ProjectBoat/ProjectBoat/FormBoat.cs b/ProjectBoat/ProjectBoat/FormBoat.cs new file mode 100644 index 0000000..7e97c3d --- /dev/null +++ b/ProjectBoat/ProjectBoat/FormBoat.cs @@ -0,0 +1,89 @@ +namespace ProjectBoat; + +/// +/// Форма работы с объектом "Катер" +/// +public partial class FormBoat : Form +{ + /// + /// Поле-объект для прорисовки объекта + /// + private DrawningBoat? _drawningBoat; + + /// + /// Конструктор формы + /// + public FormBoat() + { + InitializeComponent(); + } + + /// + /// Метод прорисовки машины + /// + private void Draw() + { + if (_drawningBoat == null) + { + return; + } + + Bitmap bmp = new(pictureBoxBoat.Width, pictureBoxBoat.Height); + Graphics gr = Graphics.FromImage(bmp); + _drawningBoat.DrawTransport(gr); + pictureBoxBoat.Image = bmp; + } + + /// + /// Обработка нажатия кнопки "Создать" + /// + /// + /// + private void ButtonCreateBoat_Click(object sender, EventArgs e) + { + Random random = new(); + _drawningBoat = new DrawningBoat(); + _drawningBoat.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))); + _drawningBoat.SetPictureSize(pictureBoxBoat.Width, pictureBoxBoat.Height); + _drawningBoat.SetPosition(random.Next(10, 100), random.Next(10, 100)); + Draw(); + } + + /// + /// Перемещения объекта по форме (нажатие кнопок навигации) + /// + /// + /// + private void ButtonMove_Click(object sender, EventArgs e) + { + if (_drawningBoat == null) + { + return; + } + + string name = ((Button)sender)?.Name ?? string.Empty; + bool result = false; + switch (name) + { + case "buttonUp": + result = _drawningBoat.MoveTransport(DirectionType.Up); + break; + case "buttonDown": + result = _drawningBoat.MoveTransport(DirectionType.Down); + break; + case "buttonLeft": + result = _drawningBoat.MoveTransport(DirectionType.Left); + break; + case "buttonRight": + result = _drawningBoat.MoveTransport(DirectionType.Right); + break; + } + if (result) + { + Draw(); + } + } +} diff --git a/ProjectBoat/ProjectBoat/Form1.resx b/ProjectBoat/ProjectBoat/FormBoat.resx similarity index 93% rename from ProjectBoat/ProjectBoat/Form1.resx rename to ProjectBoat/ProjectBoat/FormBoat.resx index 1af7de1..af32865 100644 --- a/ProjectBoat/ProjectBoat/Form1.resx +++ b/ProjectBoat/ProjectBoat/FormBoat.resx @@ -1,17 +1,17 @@  - diff --git a/ProjectBoat/ProjectBoat/Program.cs b/ProjectBoat/ProjectBoat/Program.cs index ea12be9..3195745 100644 --- a/ProjectBoat/ProjectBoat/Program.cs +++ b/ProjectBoat/ProjectBoat/Program.cs @@ -11,7 +11,7 @@ namespace ProjectBoat // 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 FormBoat()); } } } \ No newline at end of file diff --git a/ProjectBoat/ProjectBoat/ProjectBoat.csproj b/ProjectBoat/ProjectBoat/ProjectBoat.csproj index 663fdb8..af03d74 100644 --- a/ProjectBoat/ProjectBoat/ProjectBoat.csproj +++ b/ProjectBoat/ProjectBoat/ProjectBoat.csproj @@ -8,4 +8,19 @@ enable + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/ProjectBoat/ProjectBoat/Properties/Resources.Designer.cs b/ProjectBoat/ProjectBoat/Properties/Resources.Designer.cs new file mode 100644 index 0000000..01cb62f --- /dev/null +++ b/ProjectBoat/ProjectBoat/Properties/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace ProjectBoat.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("ProjectBoat.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 вверх { + get { + object obj = ResourceManager.GetObject("вверх", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap влево { + get { + object obj = ResourceManager.GetObject("влево", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap вниз { + get { + object obj = ResourceManager.GetObject("вниз", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap вправо { + get { + object obj = ResourceManager.GetObject("вправо", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/ProjectBoat/ProjectBoat/Properties/Resources.resx b/ProjectBoat/ProjectBoat/Properties/Resources.resx new file mode 100644 index 0000000..22f6027 --- /dev/null +++ b/ProjectBoat/ProjectBoat/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\вверх.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\влево.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\вниз.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\вправо.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/ProjectBoat/ProjectBoat/Resources/вверх.jpg b/ProjectBoat/ProjectBoat/Resources/вверх.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4e01b8f9347a1def638dc2e09c982109255f06f7 GIT binary patch literal 18946 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 literal 0 HcmV?d00001 diff --git a/ProjectBoat/ProjectBoat/Resources/влево.jpg b/ProjectBoat/ProjectBoat/Resources/влево.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a0de3d8bf4b2a85758a29ac22b13e4efdece336b GIT binary patch literal 17533 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 Hz4^ZYn{LlI literal 0 HcmV?d00001 diff --git a/ProjectBoat/ProjectBoat/Resources/вниз.jpg b/ProjectBoat/ProjectBoat/Resources/вниз.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b67a3a75ec7fd8cb758a31f87f81c910d66522a4 GIT binary patch literal 19070 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 literal 0 HcmV?d00001 diff --git a/ProjectBoat/ProjectBoat/Resources/вправо.jpg b/ProjectBoat/ProjectBoat/Resources/вправо.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b9763b7076eb5d5a333fb380209de97ae020b72b GIT binary patch literal 18120 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 x!2FU-apS-Ldx!r@;J*_1za;^|*_?L@^ Date: Sun, 7 Apr 2024 20:20:23 +0400 Subject: [PATCH 2/2] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=20=E2=84=961?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjectBoat/ProjectBoat/DrawningBoat.cs | 112 +++++++++++++++--------- ProjectBoat/ProjectBoat/EntityBoat.cs | 18 ++-- 2 files changed, 82 insertions(+), 48 deletions(-) diff --git a/ProjectBoat/ProjectBoat/DrawningBoat.cs b/ProjectBoat/ProjectBoat/DrawningBoat.cs index 31f7dd6..972db75 100644 --- a/ProjectBoat/ProjectBoat/DrawningBoat.cs +++ b/ProjectBoat/ProjectBoat/DrawningBoat.cs @@ -20,24 +20,24 @@ public class DrawningBoat public int? _pictireHeight; /// - /// Левая координата прорисовки катера + /// Левая координата прорисовки автобуса /// public int? _startPosX; /// - /// Верхняя координата прорисовки катера + /// Верхняя координата прорисовки автобуса /// public int? _startPosY; /// - /// Ширина прорисовки катера + /// Ширина прорисовки автобуса /// - public readonly int _drawningBoatWight = 120; + public readonly int _drawningBoatWight = 150; /// - /// Высота прорисовки катера + /// Высота прорисовки автобуса /// - public readonly int _drawningBoatHeight = 40; + public readonly int _drawningBoatHeight = 110; /// /// Инициализация свойств @@ -46,12 +46,12 @@ public class DrawningBoat /// Вес /// Основной цвет /// Дополнительный цвет - /// Признак наличия спасательного круга + /// Признак наличия лестницы /// Признак наличия фонаря - public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool lifebuoy, bool flashlight) + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool ladder, bool flashlight) { EntityBoat = new EntityBoat(); - EntityBoat.Init(speed, weight, bodyColor, additionalColor, lifebuoy, flashlight); + EntityBoat.Init(speed, weight, bodyColor, additionalColor, ladder, flashlight); _pictireWight = null; _pictireHeight = null; _startPosX = null; @@ -153,51 +153,85 @@ public class DrawningBoat Pen pen = new(Color.Black); Brush additionalBrush = new SolidBrush(EntityBoat.AdditionalColor); + Brush br = new SolidBrush(EntityBoat.BodyColor); + Brush brRed = new SolidBrush(Color.Red); + Brush brBlue = new SolidBrush(Color.Blue); + Brush brBlack = new SolidBrush(Color.Black); + + // кузов + g.DrawRectangle(pen, _startPosX.Value + 10, _startPosY.Value, 150, 100); + g.FillRectangle(br, _startPosX.Value + 10, _startPosY.Value, 150, 100); // фонари if (EntityBoat.Flashlight) { - g.DrawEllipse(pen, _startPosX.Value + 10, _startPosY.Value + 2, 10, 6); - g.DrawEllipse(pen, _startPosX.Value + 10, _startPosY.Value + 32, 10, 6); + g.DrawEllipse(pen, _startPosX.Value + 140, _startPosY.Value + 55, 10, 10); + g.FillEllipse(brRed, _startPosX.Value + 140, _startPosY.Value + 55, 10, 10); - g.FillEllipse(additionalBrush, _startPosX.Value + 10, _startPosY.Value + 2, 10, 6); - g.FillEllipse(additionalBrush, _startPosX.Value + 10, _startPosY.Value + 32, 10, 6); + g.DrawEllipse(pen, _startPosX.Value + 140, _startPosY.Value + 70, 10, 10); + g.FillEllipse(brRed, _startPosX.Value + 140, _startPosY.Value + 70, 10, 10); } - // границы катера - g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value, _startPosX.Value + 100, _startPosY.Value); - g.DrawLine(pen, _startPosX.Value + 100, _startPosY.Value, _startPosX.Value + 120, _startPosY.Value + 20); - g.DrawLine(pen, _startPosX.Value + 120, _startPosY.Value + 20, _startPosX.Value + 100, _startPosY.Value + 40); - g.DrawLine(pen, _startPosX.Value + 100, _startPosY.Value + 40, _startPosX.Value + 10, _startPosY.Value + 40); + // дверь + g.DrawRectangle(pen, _startPosX.Value + 50, _startPosY.Value + 30, 30, 60); + g.FillRectangle(additionalBrush, _startPosX.Value + 50, _startPosY.Value + 30, 30, 60); - // задняя часть - g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value + 40, _startPosX.Value + 10, _startPosY.Value + 30); - g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value + 30, _startPosX.Value, _startPosY.Value + 30); - g.DrawLine(pen, _startPosX.Value, _startPosY.Value + 30, _startPosX.Value + 10, _startPosY.Value + 40); + // ручка двери + g.DrawRectangle(pen, _startPosX.Value + 66, _startPosY.Value + 50,7, 4); + g.FillRectangle(brBlack, _startPosX.Value + 66, _startPosY.Value + 50, 7, 4); - g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value, _startPosX.Value + 10, _startPosY.Value + 10); - g.DrawLine(pen, _startPosX.Value + 10, _startPosY.Value + 10, _startPosX.Value, _startPosY.Value + 10); - g.DrawLine(pen, _startPosX.Value, _startPosY.Value + 10, _startPosX.Value + 10, _startPosY.Value); + // окно видителя - Brush brRed = new SolidBrush(Color.Red); - g.FillRectangle(brRed, _startPosX.Value + 5, _startPosY.Value + 10, 15, 20); + g.DrawRectangle(pen, _startPosX.Value + 135, _startPosY.Value + 5, 20, 40); + g.FillRectangle(brBlue, _startPosX.Value + 135, _startPosY.Value + 5, 20, 40); - // кузов - Brush br = new SolidBrush(EntityBoat.BodyColor); - g.FillRectangle(br, _startPosX.Value + 20, _startPosY.Value, 80, 40); + // посажирские окна + // + // первый ряд + g.DrawEllipse(pen, _startPosX.Value + 50, _startPosY.Value + 5, 16, 16); + g.FillEllipse(brBlue, _startPosX.Value + 50, _startPosY.Value + 5, 16, 16); - // окно - Brush brBlue = new SolidBrush(Color.Blue); - g.FillEllipse(brBlue, _startPosX.Value + 30, _startPosY.Value + 10, 40, 20); + g.DrawEllipse(pen, _startPosX.Value + 71, _startPosY.Value + 5, 16, 16); + g.FillEllipse(brBlue, _startPosX.Value + 71, _startPosY.Value + 5, 16, 16); - // спасательный круг - if (EntityBoat.Lifebuoy) + g.DrawEllipse(pen, _startPosX.Value + 92, _startPosY.Value + 5, 16, 16); + g.FillEllipse(brBlue, _startPosX.Value + 92, _startPosY.Value + 5, 16, 16); + + g.DrawEllipse(pen, _startPosX.Value + 113, _startPosY.Value + 5, 16, 16); + g.FillEllipse(brBlue, _startPosX.Value + 113, _startPosY.Value + 5, 16, 16); + // второй ряд + g.DrawEllipse(pen, _startPosX.Value + 92, _startPosY.Value + 26, 16, 16); + g.FillEllipse(brBlue, _startPosX.Value + 92, _startPosY.Value + 26, 16, 16); + + g.DrawEllipse(pen, _startPosX.Value + 113, _startPosY.Value + 26, 16, 16); + g.FillEllipse(brBlue, _startPosX.Value + 113, _startPosY.Value + 26, 16, 16); + + // колёса + g.DrawEllipse(pen, _startPosX.Value + 20, _startPosY.Value + 90, 20, 20); + g.FillEllipse(additionalBrush, _startPosX.Value + 20, _startPosY.Value + 90, 20, 20); + + g.DrawEllipse(pen, _startPosX.Value + 130, _startPosY.Value + 90, 20, 20); + g.FillEllipse(additionalBrush, _startPosX.Value + 130, _startPosY.Value + 90, 20, 20); + + // лестница + if (EntityBoat.Ladder) { - g.DrawEllipse(pen, _startPosX.Value + 80, _startPosY.Value + 15, 15, 15); - g.DrawEllipse(pen, _startPosX.Value + 85, _startPosY.Value + 20, 5, 5); + // вертикальные линии + g.DrawRectangle(pen, _startPosX.Value + 20, _startPosY.Value + 15, 3, 42); + g.FillRectangle(brBlack, _startPosX.Value + 20, _startPosY.Value + 15, 3, 42); - g.FillEllipse(additionalBrush, _startPosX.Value + 80, _startPosY.Value + 15, 15, 15); - g.FillEllipse(br, _startPosX.Value + 85, _startPosY.Value + 20, 5, 5); + g.DrawRectangle(pen, _startPosX.Value + 35, _startPosY.Value + 15, 3, 42); + g.FillRectangle(brBlack, _startPosX.Value + 35, _startPosY.Value + 15, 3, 42); + + // горзонтальные линии + g.DrawRectangle(pen, _startPosX.Value + 15, _startPosY.Value + 25, 30, 3); + g.FillRectangle(brBlack, _startPosX.Value + 15, _startPosY.Value + 25, 30, 3); + + g.DrawRectangle(pen, _startPosX.Value + 15, _startPosY.Value + 35, 30, 3); + g.FillRectangle(brBlack, _startPosX.Value + 15, _startPosY.Value + 35, 30, 3); + + g.DrawRectangle(pen, _startPosX.Value + 15, _startPosY.Value + 45, 30, 3); + g.FillRectangle(brBlack, _startPosX.Value + 15, _startPosY.Value + 45, 30, 3); } } } diff --git a/ProjectBoat/ProjectBoat/EntityBoat.cs b/ProjectBoat/ProjectBoat/EntityBoat.cs index b564515..ce1d372 100644 --- a/ProjectBoat/ProjectBoat/EntityBoat.cs +++ b/ProjectBoat/ProjectBoat/EntityBoat.cs @@ -1,6 +1,6 @@ namespace ProjectBoat; /// -/// Класс-сущность "Катер" +/// Класс-сущность "Автобус" /// public class EntityBoat { @@ -25,9 +25,9 @@ public class EntityBoat public Color AdditionalColor { get; private set; } /// - /// Признак (опция) наличия спасательного круга + /// Признак (опция) наличия лестницы /// - public bool Lifebuoy { get; private set; } + public bool Ladder { get; private set; } /// /// Признак (опция) наличия фонаря @@ -35,26 +35,26 @@ public class EntityBoat public bool Flashlight { get; private set; } /// - /// Шаг перемещения катера + /// Шаг перемещения автобуса /// public double Step => Speed * 100 / Weight; /// - /// Инициализация полей объекта-класса катера + /// Инициализация полей объекта-класса автобуса /// /// Скорость - /// Вес катера + /// Вес /// Основной цвет /// Дополнительный цвет - /// Признак наличия спасательного круга + /// Признак наличия лестницы /// Признак наличия фонарей - public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool lifebuoy, bool flashlight) + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool ladder, bool flashlight) { Speed = speed; Weight = weight; BodyColor = bodyColor; AdditionalColor = additionalColor; - Lifebuoy = lifebuoy; + Ladder = ladder; Flashlight = flashlight; } } \ No newline at end of file -- 2.25.1