From b9edd805a84c0ad6eae721c94e8e4737b734f25b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=20?= =?UTF-8?q?=D0=A7=D0=B5=D0=B3=D0=BE=D0=B4=D0=B0=D0=B5=D0=B2?= Date: Wed, 13 Dec 2023 23:02:38 +0400 Subject: [PATCH 1/2] lab1 --- Cruiser/Cruiser/DirectionType.cs | 19 ++ Cruiser/Cruiser/DrawningCruiser.cs | 172 ++++++++++++++++++ Cruiser/Cruiser/EntityCruiser.cs | 39 ++++ Cruiser/Cruiser/Form1.Designer.cs | 39 ---- Cruiser/Cruiser/Form1.cs | 10 - Cruiser/Cruiser/FormCruiser.Designer.cs | 137 ++++++++++++++ Cruiser/Cruiser/FormCruiser.cs | 70 +++++++ Cruiser/Cruiser/FormCruiser.resx | 60 ++++++ Cruiser/Cruiser/Program.cs | 2 +- .../Cruiser/Properties/Resources.Designer.cs | 103 +++++++++++ .../{Form1.resx => Properties/Resources.resx} | 13 ++ Cruiser/Cruiser/Resources/вверх.jpg | Bin 0 -> 34142 bytes Cruiser/Cruiser/Resources/влево.jpg | Bin 0 -> 33972 bytes Cruiser/Cruiser/Resources/вниз.jpg | Bin 0 -> 33063 bytes Cruiser/Cruiser/Resources/вправо.jpg | Bin 0 -> 26567 bytes 15 files changed, 614 insertions(+), 50 deletions(-) create mode 100644 Cruiser/Cruiser/DirectionType.cs create mode 100644 Cruiser/Cruiser/DrawningCruiser.cs create mode 100644 Cruiser/Cruiser/EntityCruiser.cs delete mode 100644 Cruiser/Cruiser/Form1.Designer.cs delete mode 100644 Cruiser/Cruiser/Form1.cs create mode 100644 Cruiser/Cruiser/FormCruiser.Designer.cs create mode 100644 Cruiser/Cruiser/FormCruiser.cs create mode 100644 Cruiser/Cruiser/FormCruiser.resx create mode 100644 Cruiser/Cruiser/Properties/Resources.Designer.cs rename Cruiser/Cruiser/{Form1.resx => Properties/Resources.resx} (83%) create mode 100644 Cruiser/Cruiser/Resources/вверх.jpg create mode 100644 Cruiser/Cruiser/Resources/влево.jpg create mode 100644 Cruiser/Cruiser/Resources/вниз.jpg create mode 100644 Cruiser/Cruiser/Resources/вправо.jpg diff --git a/Cruiser/Cruiser/DirectionType.cs b/Cruiser/Cruiser/DirectionType.cs new file mode 100644 index 0000000..480399f --- /dev/null +++ b/Cruiser/Cruiser/DirectionType.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Cruiser +{ + internal enum DirectionType + { + Up = 1, + + Down = 2, + + Left = 3, + + Right = 4 + } +} diff --git a/Cruiser/Cruiser/DrawningCruiser.cs b/Cruiser/Cruiser/DrawningCruiser.cs new file mode 100644 index 0000000..2e61a25 --- /dev/null +++ b/Cruiser/Cruiser/DrawningCruiser.cs @@ -0,0 +1,172 @@ +using System; +using System.Collections.Generic; +using System.Drawing.Drawing2D; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Cruiser +{ + internal class DrawningCruiser + { + + public EntityCruiser? EntityCruiser { get; private set; } + + private int _pictureWidth; + + private int _pictureHeight; + + private int _startPosX; + + private int _startPosY; + + private readonly int _cruiserWidth = 150; + + private readonly int _cruiserHeight = 50; + + public bool Init(int speed, double weight, Color bodyColor, Color +additionalColor, bool vert, bool rocket, int width, int height) + { + + if (width < _pictureWidth || height < _pictureHeight) + { + return false; + } + _pictureWidth = width; + _pictureHeight = height; + EntityCruiser = new EntityCruiser(); + EntityCruiser.Init(speed, weight, bodyColor, additionalColor, vert, rocket); + return true; + } + + public void SetPosition(int x, int y) + { + if (x <= _pictureWidth - _cruiserWidth && y <= _pictureHeight - _cruiserHeight) + { + _startPosX = x; + _startPosY = y; + } + } + + public void MoveTransport(DirectionType direction) + { + if (EntityCruiser == null) + { + return; + } + switch (direction) + { + + case DirectionType.Left: + if (_startPosX - EntityCruiser.Step > 0) + { + _startPosX -= (int)EntityCruiser.Step; + } + else if (_startPosX - EntityCruiser.Step < 0) + { + _startPosX = _startPosX - _startPosX + 3; + } + break; + + case DirectionType.Up: + if (_startPosY - EntityCruiser.Step > 0) + { + _startPosY -= (int)EntityCruiser.Step; + } + else if (_startPosY - EntityCruiser.Step < 0) + { + _startPosY = _startPosY - _startPosY + 0; + } + break; + + case DirectionType.Right: + if (_startPosX + EntityCruiser.Step + _cruiserWidth < _pictureWidth) + { + _startPosX += (int)EntityCruiser.Step; + } + else if (_startPosX + EntityCruiser.Step + _cruiserWidth > _pictureWidth) + { + _startPosX += _pictureWidth - _startPosX - _cruiserWidth; + } + + break; + + case DirectionType.Down: + if (_startPosY + EntityCruiser.Step + _cruiserHeight < _pictureHeight) + { + _startPosY += (int)EntityCruiser.Step; + } + else if (_startPosY + EntityCruiser.Step + _cruiserHeight > _pictureHeight) + { + _startPosY += _pictureHeight - _startPosY - _cruiserHeight; + } + break; + } + } + + public void DrawTransport(Graphics g) + { + if (EntityCruiser == null) + { + return; + } + Pen pen = new(Color.Black); + Brush additionalBrush = new SolidBrush(EntityCruiser.AdditionalColor); + Brush BodyColor = new SolidBrush(EntityCruiser.BodyColor); + + + + + + GraphicsPath path1 = new GraphicsPath(); + path1.AddLine(_startPosX + 100, _startPosY + 0, _startPosX + 0, _startPosY + 0); + path1.AddLine(_startPosX + 0, _startPosY + 50, _startPosX + 0, _startPosY + 0); + path1.AddLine(_startPosX + 0, _startPosY + 50, _startPosX + 100, _startPosY + 50); + path1.AddLine(_startPosX + 100, _startPosY + 50, _startPosX + 150, _startPosY + 25); + path1.AddLine(_startPosX + 100, _startPosY + 0, _startPosX + 150, _startPosY + 25); + + g.FillPath(additionalBrush, path1); + g.DrawPath(pen, path1); + + + Brush brBlack = new SolidBrush(Color.Black); + + g.DrawRectangle(pen, _startPosX - 3, _startPosY + 7, 3, 15); + g.FillRectangle(brBlack, _startPosX - 3, _startPosY + 7, 3, 15); + g.DrawRectangle(pen, _startPosX - 3, _startPosY + 25, 3, 15); + g.FillRectangle(brBlack, _startPosX - 3, _startPosY + 25, 3, 15); + + + g.DrawRectangle(pen, _startPosX + 60, _startPosY + 12, 20, 25); + g.FillRectangle(brBlack, _startPosX + 60, _startPosY + 12, 20, 25); + g.DrawRectangle(pen, _startPosX + 30, _startPosY + 19, 30, 13); + g.FillRectangle(brBlack, _startPosX + 30, _startPosY + 19, 30, 13); + + + if (EntityCruiser.Vert) + { + + Brush brRed = new SolidBrush(Color.Red); + g.FillEllipse(brRed, _startPosX + 95, _startPosY + 15, 20, 20); + g.DrawEllipse(pen, _startPosX + 95, _startPosY + 15, 20, 20); + } + if (EntityCruiser.Rocket) + { + + + g.DrawEllipse(pen, _startPosX + 8, _startPosY + 3, 15, 12); + g.FillEllipse(brBlack, _startPosX + 8, _startPosY + 3, 15, 12); + + g.DrawEllipse(pen, _startPosX + 8, _startPosY + 18, 15, 12); + g.FillEllipse(brBlack, _startPosX + 8, _startPosY + 18, 15, 12); + + g.DrawEllipse(pen, _startPosX + 8, _startPosY + 33, 15, 12); + g.FillEllipse(brBlack, _startPosX + 8, _startPosY + 33, 15, 12); + + } + + } + + } +} + diff --git a/Cruiser/Cruiser/EntityCruiser.cs b/Cruiser/Cruiser/EntityCruiser.cs new file mode 100644 index 0000000..4c94386 --- /dev/null +++ b/Cruiser/Cruiser/EntityCruiser.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Cruiser +{ + internal class EntityCruiser + { + + 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 Vert { get; private set; } + + public bool Rocket { get; private set; } + + public double Step => (double)Speed * 100 / Weight; + + public void Init(int speed, double weight, Color bodyColor, Color + additionalColor, bool vert, bool rocket) + { + Speed = speed; + Weight = weight; + BodyColor = bodyColor; + AdditionalColor = additionalColor; + + Vert = vert; + Rocket = rocket; + } + } +} diff --git a/Cruiser/Cruiser/Form1.Designer.cs b/Cruiser/Cruiser/Form1.Designer.cs deleted file mode 100644 index 95fc312..0000000 --- a/Cruiser/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/Cruiser/Form1.cs b/Cruiser/Cruiser/Form1.cs deleted file mode 100644 index cda6114..0000000 --- a/Cruiser/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/Cruiser/FormCruiser.Designer.cs b/Cruiser/Cruiser/FormCruiser.Designer.cs new file mode 100644 index 0000000..2958a8d --- /dev/null +++ b/Cruiser/Cruiser/FormCruiser.Designer.cs @@ -0,0 +1,137 @@ +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() + { + this.pictureBoxCruiser = new System.Windows.Forms.PictureBox(); + this.buttonCreate = new System.Windows.Forms.Button(); + this.buttonUp = new System.Windows.Forms.Button(); + this.buttonLeft = new System.Windows.Forms.Button(); + this.buttonDown = new System.Windows.Forms.Button(); + this.buttonRight = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxCruiser)).BeginInit(); + this.SuspendLayout(); + // + // pictureBoxCruiser + // + this.pictureBoxCruiser.Dock = System.Windows.Forms.DockStyle.Fill; + this.pictureBoxCruiser.Location = new System.Drawing.Point(0, 0); + this.pictureBoxCruiser.Name = "pictureBoxCruiser"; + this.pictureBoxCruiser.Size = new System.Drawing.Size(800, 450); + this.pictureBoxCruiser.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.pictureBoxCruiser.TabIndex = 0; + this.pictureBoxCruiser.TabStop = false; + // + // buttonCreate + // + this.buttonCreate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonCreate.Location = new System.Drawing.Point(12, 408); + this.buttonCreate.Name = "buttonCreate"; + this.buttonCreate.Size = new System.Drawing.Size(83, 30); + this.buttonCreate.TabIndex = 1; + this.buttonCreate.Text = "Создать"; + this.buttonCreate.UseVisualStyleBackColor = true; + this.buttonCreate.Click += new System.EventHandler(this.buttonCreate_Click); + // + // buttonUp + // + this.buttonUp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUp.BackgroundImage = global::Cruiser.Properties.Resources.вверх; + this.buttonUp.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.buttonUp.Location = new System.Drawing.Point(720, 372); + this.buttonUp.Name = "buttonUp"; + this.buttonUp.Size = new System.Drawing.Size(30, 30); + this.buttonUp.TabIndex = 2; + this.buttonUp.UseVisualStyleBackColor = true; + this.buttonUp.Click += new System.EventHandler(this.buttonMove_Click); + // + // buttonLeft + // + this.buttonLeft.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonLeft.BackgroundImage = global::Cruiser.Properties.Resources.влево; + this.buttonLeft.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.buttonLeft.Location = new System.Drawing.Point(684, 408); + this.buttonLeft.Name = "buttonLeft"; + this.buttonLeft.Size = new System.Drawing.Size(30, 30); + this.buttonLeft.TabIndex = 3; + this.buttonLeft.UseVisualStyleBackColor = true; + this.buttonLeft.Click += new System.EventHandler(this.buttonMove_Click); + // + // buttonDown + // + this.buttonDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDown.BackgroundImage = global::Cruiser.Properties.Resources.вниз; + this.buttonDown.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.buttonDown.Location = new System.Drawing.Point(720, 408); + this.buttonDown.Name = "buttonDown"; + this.buttonDown.Size = new System.Drawing.Size(30, 30); + this.buttonDown.TabIndex = 4; + this.buttonDown.UseVisualStyleBackColor = true; + this.buttonDown.Click += new System.EventHandler(this.buttonMove_Click); + // + // buttonRight + // + this.buttonRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonRight.BackgroundImage = global::Cruiser.Properties.Resources.вправо; + this.buttonRight.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.buttonRight.Location = new System.Drawing.Point(756, 408); + this.buttonRight.Name = "buttonRight"; + this.buttonRight.Size = new System.Drawing.Size(30, 30); + this.buttonRight.TabIndex = 5; + this.buttonRight.UseVisualStyleBackColor = true; + this.buttonRight.Click += new System.EventHandler(this.buttonMove_Click); + // + // FormCruiser + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.buttonRight); + this.Controls.Add(this.buttonDown); + this.Controls.Add(this.buttonLeft); + this.Controls.Add(this.buttonUp); + this.Controls.Add(this.buttonCreate); + this.Controls.Add(this.pictureBoxCruiser); + this.Name = "FormCruiser"; + this.Text = "FormCruiser"; + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxCruiser)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private PictureBox pictureBoxCruiser; + private Button buttonCreate; + private Button buttonUp; + private Button buttonLeft; + private Button buttonDown; + private Button buttonRight; + } +} \ No newline at end of file diff --git a/Cruiser/Cruiser/FormCruiser.cs b/Cruiser/Cruiser/FormCruiser.cs new file mode 100644 index 0000000..c24a4bf --- /dev/null +++ b/Cruiser/Cruiser/FormCruiser.cs @@ -0,0 +1,70 @@ +using System.Windows.Forms; + +namespace Cruiser +{ + public partial class FormCruiser : Form + { + + private DrawningCruiser? _drawningCruiser; + + public FormCruiser() + { + InitializeComponent(); + } + + private void Draw() + { + if (_drawningCruiser == null) + { + return; + } + Bitmap bmp = new(pictureBoxCruiser.Width, + pictureBoxCruiser.Height); + Graphics gr = Graphics.FromImage(bmp); + _drawningCruiser.DrawTransport(gr); + pictureBoxCruiser.Image = bmp; + } + + private void buttonCreate_Click(object sender, EventArgs e) + { + Random random = new(); + _drawningCruiser = new DrawningCruiser(); + _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)), + + 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(); + } + + 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(DirectionType.Up); + break; + case "buttonDown": + _drawningCruiser.MoveTransport(DirectionType.Down); + break; + case "buttonLeft": + _drawningCruiser.MoveTransport(DirectionType.Left); + break; + case "buttonRight": + _drawningCruiser.MoveTransport(DirectionType.Right); + break; + } + Draw(); + } + } +} \ No newline at end of file diff --git a/Cruiser/Cruiser/FormCruiser.resx b/Cruiser/Cruiser/FormCruiser.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/Cruiser/Cruiser/FormCruiser.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/Cruiser/Cruiser/Program.cs b/Cruiser/Cruiser/Program.cs index d0f2665..626bc14 100644 --- a/Cruiser/Cruiser/Program.cs +++ b/Cruiser/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/Cruiser/Properties/Resources.Designer.cs b/Cruiser/Cruiser/Properties/Resources.Designer.cs new file mode 100644 index 0000000..d06e6fd --- /dev/null +++ b/Cruiser/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 вверх { + 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/Cruiser/Cruiser/Form1.resx b/Cruiser/Cruiser/Properties/Resources.resx similarity index 83% rename from Cruiser/Cruiser/Form1.resx rename to Cruiser/Cruiser/Properties/Resources.resx index 1af7de1..22f6027 100644 --- a/Cruiser/Cruiser/Form1.resx +++ b/Cruiser/Cruiser/Properties/Resources.resx @@ -117,4 +117,17 @@ 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/Cruiser/Cruiser/Resources/вверх.jpg b/Cruiser/Cruiser/Resources/вверх.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1111d56fa3ddebb251f9962864198dbd31cc3ad8 GIT binary patch literal 34142 zcmeHw2V4}%)^95!iYTI>qQWSsAW@QJMnynGK(c~3B9cTvl4RPjiXt)!0s_h?Ifx@7 zpb|#1h)5EUIOH6LJhA5$uI}C7esA~w-h1Es_Bzn?Om%fl)#+2`{7w+#Gzc`jbat1p zI_GlMM#9>~Nz&WuqNJ3>K1oOg?S0Y8+R?^i$5|UY2WM4*seFRK4u^B90%mf$`*bg= z+t@oC@pZE?^3^l8_I0#YJSTuwTg$HEt>o==(aFZcYKOPe1!s39Z&iUWtt)}|OU04` zJHAx$a8wmIp?iFXx{I654mk-a326av`)U=pbGAx`hc&<64L+#~eC?-~mzRW>jD(Au zourhaqN3zJX-R2maZp3t-N)I(%3IvoUGPgAKR0sN#@*V@;i89wi}Q}9My<}eczUP` zfUp13uZ#9B9xm?oE*F1k|2K5_B`<5<9 zsC$A&oxWBzadz-<|8CtcS0uEZt?g~xzg9M~xd6V{=G;Ly8!K>+rqu;^o3EFSyE!;} zm^qyDum=~!rG8y{#KytSeyO{^6fbqspK!S6nxt8|KRoGOa2y-e~{}3x&9Uf{#NB5-1UQ8e~SWttMU)-`a!P0 zMS;In`Tst5{mbyNaXzOiUMp9uU}0rj$;P&HtXjQh z^{Q3utJv587-e6>0bXpY*Kw}pShw_ksgb4Im+k_;9IMz?E!FsYFXmf_Yt?e&<;E<_ z1fbNetj)l&a#4aCFm0S8c-o;J?K6Q%W}|J))gy2?Er8c zTEWG-VW-r=l^YGL*aTd;rLWw3vP$q!RxyuZJ!zNBS+}dJ**9(8!n<|%9wFhqBC>M( zs z9z@5)CnP2%r=+H(zsP=>lbiSI^_!B?vhs?`cUA8j8b38Pw|s7G>*?+59~c}O9vPjU znVp+oSR_-ZOXFGwvHU!&Uq<%3adClhEeFqF1>4fNmM!-J2MgB<)}2x-HykuzvvS=i zAbn*O_n~`FvWiy=${3P(&brmJZ`vi>vwM1JXkSM5*9La=-x}F31N+yw+8_>=W#Hkl za6xE@F>{rJU}|HHdoY+xQ-VEVksVCPROHY_;pOP;ltr_dgz*tZ6Ft@9E-?~j_lhaX zpwzJhe#CWR-ebR9Pw~kZB|PFkPsI-%So?DeYF{ot8pNj~9$&6P@;^87^W`s%)PK1O z5r6d^X2C{c|}gs@9U|11lZ$$ZW(_T;}{T0g?;WY#re8p3u{|?q05a zfaj!tvY?nxZCCsw=?x6{sPOU==%!$8&EW^WhQ-KJL+uiIn(^v!{}v|1x|#`Hz3xCD z>BB4Sl@@Y(3XRG(#VkB-7S1&)N8LYsj2?v^@8hT7BjMgX@NybdcJVtgjA>`T3N)C=77M)VbUIGUWzgqC+FAOdzINybL>Cb;_)54mL! ze(}-=H=gOgNS%#^rJ2xMYeZ`TJuRZf$As#{m=MWRe->?n{!JIP=!a{&G1NVQ;QHHF zqSN>fOvuK5se|a2hwYRogatLjNsd6RV?x85V6svQ1@{-bfg1bhM6YH-%diwS`cZ5U zJhui-=QE<$w(65_;ocJFj?qstp(_^+m=Ko?c{6egcNXg^}Z zgf3UouOYj&N(od}9I`GAu^UhMO{ayK(9LN28YXnOwj4*^%o-?10aW0(qls$$ix3By z(1wH_B4c?i6Jj%FLNW_Rza}3yTy_j$WkT_Gy|wf;R|#9`OC6A5L?keLY6#JAw-gfs zGW(VRX$rYw$Aqq>!_l<8zwP;N35&TCxYUDaw|*7Pz|`UghsjF6^mYb<$sLn&*1UO?=pU(Ob_ROO<_a4gUzU(>32S zArG@0xL5_V*`UKEbNaO zE#HN6pGmsLIFT4W8ECvw9Q&b`tmuyD5_+Z>Ay_7qm~Ga_6ZjD*=4#xG6BFWu$Irox z-7$nM8KgiZCUmcWAqZ+EFaTO&LRD`{nNZ7n0@Z?DIKD^)2?wXk|Efj<&S+vN z^I=JC=mE<5>c!!BKt$=FFOYZSTyz~ovKy1yOa2T$%D6Qb(K1xlHX zPtmu(W_sZHm{7yXjOkzkTOXdXt+oM8J&JAuILn0|`xMRa&tO7H&*Otd`)Wt_ z#Rm&R|D6Zk5uki;@MvfJMVU}mXd@F+$8&$L^x0ERTA8ZZpnu+WxJosY3E}17xen}z zGZ9e}q@SNR$YVm-n@nhHA*M0wGZR{yfMD)%5CVgD)8>qR@Zu78{$qJDOku0Ta{Pyy z&z=bvKil8TwthJOb}TqdSzS1sgOES!CiPM3<3-=0km(w~&Eu-Htz_In6M4j{M|Wjw zQ8g1nDJ4JIV@lM`9T`-HeB*eu!~&pQzC(2GMPzkEW?-q>ZVSe~uCdds&3fYVI$@y; zp@(|gY)qDI;kvS;M0)xzQQY_bOvo|Piwa@2!xQk>Bq4zF<1A{!jF=>sL67f)n@>%S z%nH++;)&XFPmP)~4eiO3!C8!l$O+e3N%wn|3RS$c*Ha@kW_W1>NB245Pa#F?G-n0eemo$&a20E%DM9S*nwCb)BOq|_#DR~#zTS~yfLtW3GvLqtH@@$mO6%?s_ywW z-aK=2yKLB9x8OqB0u;8alx#<;K0(I!WlEO5;d%PzMrQia=j{g}j)wf@CR(a`%H7MV zcDQ2*7?LiEEMyu^qscKhAN$#F0YxH?A0*vq zFZJE7ehjF|J8yW7ymRdTN6zyqrn%CWU>dKSX zm+`wc-hI1phPY4g$x!AcM~9q?3f)Md!|W6LBbdfuMqAvvJ4$QTZh3Y%(>Zb+zOV3M zc3=6Rq8}hlxS@aNFv|f5MFsAssQnC= zn9!4!;O`ZhvN3x3GiKE+Lec$km2gW8f$FR^m*)ax3>PBjoBC~f;YU7?!#C=gkmS3s zaB1&-HO~37VfwErKRd#J)?Xc2IcWDiwQdJ@57bh?3=JYINTZRk8cc`@8O;a3>k0%j zufYJpGd9BgomNa}YyiU$zs_xd;fJ-s=>Y5BI*xDNWnBnKbit9z&5>8)I~}(UWM)1p zXfcc0kZy5s!(^m3`nri$mr!HjK^F%B;`MdG?UyC1MTSy({npLXfd6jAX~0Kj>ZDqY z21LyNP(ur{A>$RjbDRFFQ#m2Ji?*IZ{EnUnTYYN$qWN_&Qe`5tbCWc|83Ip%LAAH& zo=EFEiz(uJ8;i2za&=xduXsc=XxLr;>#wm=@tNam95c^uBt^L~L?r<}3cfENauZ*;MN#j27!51z+~6KsA>d zT)*TdS5xb<=*&|@x!6Z13#q#sq$~w_;xVf809@u{AMr|OKQZVyTja(lg01*C7h1@> zed5n^ya{~md_xyyvS#-4F~v1;(^8|HYV&i~&0gnOqu!P4r(bz^i6>N$Q=jXov8ZT; zMO>tQY@hT~PqAvr)RE?--NIGQF~BW#xw&S4T+j@0dZ-(|r3U#QZ&KOYdq+Z7$h7{m zh7vcU5ehtcmkGI6?wGAS#V>l@{^o(s*d+K6hGeWy-jj=?x%!Jl_UX)c5K+UUm}3PR zZF#Pf9nG_D@}m3)g|2;6HtWV<{nw=XD^J@#NgQq7IHGhtdW_whVnU-e zfvd|NDjSL8oq8m%FV4(kLWig|-CiND)a2je4eQDqv`wzkg| zHJQ*?ePTTql9OFx^dlc`BAz#dInKU$Z>jRE>*gFx79i3$JSPthR`<4)sY+b~HB=s+OD#Vv(bei3jEKWRmnUkXt zEF7o+duZM#+)+4Mcdq$`m|ep{Y%(4VCyV~ zq=eHgrdvgmDx7o_-rH3h#h;#V5+=ap7H(wwcW%X29;MMC<2~#D=!LnE(x$RJ;H>%QVy^g>Ti2UPc1w_6&6$4 z_saZLa8`o0{9ff<-mez|uDstT=gv_PpK|o!sU)EnI`b}v^PCc&wJA@LcMs7wrq3>n zkngR^ztP)L{APRg{@1Cp-kUi%s~y%bA%Eo|J2Ig=|{c*Yq3a zGF)9;TsBOcxbN|Hacb-YDtl;rqKDX;(GwZf&4gBu)Qy<)hw~n>4)LEsPuB>-++nB( zSyL0`zG!pCVvu)W+{r`L=3!*qZ~;NBFp9FVPw4i8F2$Nh7~d^NozjilN1EMoXQM1B zMgzK;=1vq>9Sxp2yS|=Zqhsy7*`)Z(GC6#z$$1x?!c}^LcmW8n-O|THt^!l+;nEb- zCt(c;ZILHBtnM%F7-}x?pWTxXZPmH;ja>FP6Ut;l9~f&&(Hmsc z)_mLZs|;ZwpBR3V0Qda zu<+yMfAuKDBdhzEkWdu~k5nk@Gu9Ot{-Nm2bM(~uc}(<7hbt4>wV;d?03S=E8#*cf zt3yZgt7ih%tF)%?$5H|hO9QtUu%eDVA$_%+BEMq3YrFKDdbwU3zra)Jhl(M`%!EQT0 zCB;A^Ae!F$UGux@#&KGR(eUGS=w7=L%gwzhrG*xyfjhE-4C_5JF6F+-y%%U^C{=m! zU_aM8mH9ye1a~I^i+n9+ft#G~>ayMav^Uzq_Er77z~%j&{gic`D&=e`)0gnW=_lHZ zMH}S?2`^K|t9l4+*LpUk^`Ll8RQjcy=i)JI+p2SNe~(QF?#-~ziol#%746cx56>4u zBLoUtsAwSyeTpV@6_K>|-nQR_Z|JAgmYks4zTm>weR+B|9#jiTK-lN9&uZP%b(dG8 z4C2l!EpoQw78Iw2#%-qa4M@*&IH?;bb~=TJ1^Dzj1dw@s-M4q1B?hsPU2D8UJN8Vr zE+?>-Ta6x19WgNtt50CKy>tJt$LVs?gYNXb4QV{WRTmoD5l*{=>|;*c2B(HzewTLN zacTTVxGVI61!dDSnnG7P)V*!YZ5q3J-bq<6+@K&-*d*Bp=94UL}UB5*#ib){Zorn%awol=q%az{&BX;NCzeh6@+%eT$7LE zZHYI@$1cX`J-(?@qZW8M?cFY}nOtu{VhrNTgzWWOXUlNem~wIJVnnQQAiG(%DtA(F z(M)P+jo5|NrkdmGp54@z`Hk+jr}wlG_wU;h(9LO1u}0W2K*S6*pq=5L!o)5X+w}$T z%ShZwO&4~4y-!iqfHw4GsI5ro_N%iBRQSYWf**<=TisGSi%u%S1}d3!k9z?hgpe4k zgCi5tOC(lA%`hP)%V#--03a@01NW_xpPUpyBhUIlApx{#B2x_PF1@4 zR}|SFG}b>)iKSeqKI7i})M8}3kz#XKX8m$pf%dS}sNbbU9)sI{yr0sxWaP?aZWTJ? zd%bGsjeWjcwdjMG3=~NNU_O(ICq7C3XUO+bM10T%q`@c=C&>|a>FIfcP<_RT(H+G+} zx^pO9;5z%}$t$6kFY!?AR+7?Fo0Yi>JA3mf1WAb$5~jhrvQk(7r&qrCqN%O(0tokF z(x$kniJTXUE`euHT;Sc!gzWHo1w$0%p-Ep2Ta4&@0vUBC{x1Y-(icrDj#zB5t>oq7 zv^Euf%y|{=eug6*^M)NcS#)~=9Q|C0Dsx)5$^O=z{bL6B6S4QA32!Qc>C(+}I(OC_ zkE-(xb84*Z%~WM^+_WiO{`}pvLGL=a+GhLn(UHbMivEy_P09Ng-gJ@0$QPFM zhAAT9853&7XyW*j?wh2PL^Jdkd|sv*hnpsMJq&X>?=-$}%{OCzOP?i=)k_L@9$UZ2 zHkRZ7EbQELnt-}*-ob>l1r@4$fEAVa_<3yB^p zXYp#_)M$`%pM!JjsFp;Z2%Bc-ObZS!RwbNq*$~)4K7B%J@w~&;y^Wxa&WOqcDR^Sm{YJfXXl-jJX+631N7w@R#f`#_kWdQHo+Af`~t)P zW!jzf+?;YJ+naLdor<0UJpA~tTHcV1;})w?J7gzc?!!DmVxI#N;vQ-|S=I1uk9 zivl;!s7tGUnT&V!+Xb5<)EH;VED#hMC&d1}fUBiS;r>ybYt5UiKT{zKZUcq$s}-)e1ZK;k&e}yUj&PMm~_TS7P0s zF+z$@2EA7p3X|u!(jKQJcbXuTgPlzGv_@a=0F+z%Um8#UWL*=tQ!Mbbw>TM&`vj52 zx(1@H`!DP1L&%;&_XSx-n7=;F%HO$xF52_Jq^KU%CNY&{N>jtR)P3l;b6`uMosNGE z5=dG6wP=U@k2m;>_BhGVFs4noMPbTJr1V7_H??u=eEtZ=D!5pUU?sk0VG~*0rH97% z=EiH!Tl0?$>cpb5Ck9q39maW@sVaxp1bD3>bca7;5~uaR+DhNjZ))=TL37fMk#E6<*{mU4GbGkASe zw=;Kf$SL| zXLiz{hTm#uk=4XeZG~4=meOe-Jw`P%_xB0EY}BifOLv%znZyp|A?(+Ij-G2GfI!F1 zJZX#es&q2vsk{5JsXpqSFY_p-bC4?b19_nVV^>!-XmBEi6;Q4 zI0oj|%b=0~>k>7wtlP)y=k4ifESxbLn`|{lp8?&6AF5uMV_a7;0MS09*Y%$E^cw!@ z;`+&!!Of)9Z5WmAtNV^Wq9EJdF~P1dhYlP1X&oj%3OP!HqdMSZqLw6I+Vmc-b3SFC zT48v6am z+DfKkTW($3+cvr;O;ADZbYh+h5$pQ~=90!rXE9d7#o~nSSS8H30jZLvV@Oj=>LaeN z$lLm;S70K?Xm*XgH#&d5->$9bRdB8QN?MX8#0P!!4UEt~q|S(NoRzZXhW#G;7iOH{ zU`HNQlZ-FEvOgZ5$sN^?CE;&*Uqi(WMr2=TaP~Z(pNsT|4adLKi3d-Cr_KAxul;Nq zJlnG=N45E+x-RdE&!|jYjSlMY9HDqFWc)6wsJ@*&xeXs#^F}pm;Q~WX|MA=HwE9<@ zg;PzZ&mA}8*tSKnFD^pv521Z^cP?-C`L&^{85QUYgwNHbaIQ=7TJ@6C0zdhL?TpeZ zJg~`0sb6BlVe}KW8{04X;4c){nui{F5h~L{X;uhPRhoOWHGMkr4qvph&F$)})5_XL@TF5a1?PhvtT6Eq|0AAukiUde%d2&x0Y@^L`1(#3a{ zN;N{*+qQC&g^A_(1y7TS5sm|aH;Nqbg9Q~K4rlH3w(V({JH~{Z$%0b&2N#hw`^xe^ zWoq6ZaN-$SRn_Xz)YS=8#j}m0hyKh+`R6K&y$c}b8Z~w-1q6DZVKN=`ds(RYb#VV? z2PSk1I27v~&0lz+D6DO83&0L@TbuEtBJlD#%sph4&c*m(k)QtMGdbo{W-#e2yzJcl zL;116v&6PF3pYuX<3pqbvuV5Ao~vXFQQEq-f?1t1Fo$a@ubuOIHi91b8ju!dk6nX+ zoI3U#mrdT;$Afh0=W;rCh3d#Y_0`&XCDOh10QIgS{;ecgSc}eWRtD!)mQ@sd+Ug`) zOm*B>?}3pDIb+u!b84nRnqG!W(Gwl?4!=2KbN}hnQPrqXIzfImZz7JvTk^qlv$dD6 zx01_Zgm_U`zj95d?_=Y>FdE99Y#rfqnTX$03M{Fbf>~Eg>Is4Tv|C#PS*zQx#KC$ zdAyOHb5C9{F-l7Fed#NavOu}Hq}DPZFaZ9%I*yJ2dZcMO8{W`4606OJZrq8NR7w-^ z2{?cE()kUJ{n#8*i)3jZnIKwxwl_sDS>V3S=IoGk4Ox23B~_UP9!4Qu5QJeRgUsuk zRWgs(E^bYJK-aaA8oO640$;yeJW||SNEMyGFWE_XwMFF|M+|ZXZ9{CsmZM*|lo!gB zckz6(%_+*+=`7Gm%b!DpZB7q&eHKhr93;R5E4ZCl%!Kk#r3&*kD?P6ny%61$k@U`0 zHKhN{)mM~zZ!$tT)vuL%t4Nlw|FD;~^<$G6qC1Ff^7kSM@fM#*c`z_)R6VN7KN;?K z$YmzVGPVe$+!!3!fVao`U}BTk9qbe0Q4P39AN@wfFXzVhC|^%`xkeTWI| z-A;bZgsgUgG{PtN7|{`!EQ+Hiy7vw-erjPt8V515X0v)u2*r$UNN+{j$-v#ZD-`7P zocRnhWI&3cXpLGwfDGUDNsG3Drxu5v@yD?

gY%V4jSXf3Glu1)1hFq2R5cV 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 LaM@RWd-(qW8VkNb literal 0 HcmV?d00001 -- 2.25.1 From 4a1039d391b41d8e7c558da8b1dd4307c3f4fae1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=20?= =?UTF-8?q?=D0=A7=D0=B5=D0=B3=D0=BE=D0=B4=D0=B0=D0=B5=D0=B2?= Date: Wed, 13 Dec 2023 23:10:44 +0400 Subject: [PATCH 2/2] lab1 --- Cruiser/Cruiser/DrawningCruiser.cs | 17 +---------------- Cruiser/Cruiser/EntityCruiser.cs | 2 -- Cruiser/Cruiser/FormCruiser.cs | 3 +-- 3 files changed, 2 insertions(+), 20 deletions(-) diff --git a/Cruiser/Cruiser/DrawningCruiser.cs b/Cruiser/Cruiser/DrawningCruiser.cs index 2e61a25..fb5d921 100644 --- a/Cruiser/Cruiser/DrawningCruiser.cs +++ b/Cruiser/Cruiser/DrawningCruiser.cs @@ -9,7 +9,6 @@ namespace Cruiser { internal class DrawningCruiser { - public EntityCruiser? EntityCruiser { get; private set; } private int _pictureWidth; @@ -56,7 +55,6 @@ additionalColor, bool vert, bool rocket, int width, int height) } switch (direction) { - case DirectionType.Left: if (_startPosX - EntityCruiser.Step > 0) { @@ -88,7 +86,6 @@ additionalColor, bool vert, bool rocket, int width, int height) { _startPosX += _pictureWidth - _startPosX - _cruiserWidth; } - break; case DirectionType.Down: @@ -114,10 +111,6 @@ additionalColor, bool vert, bool rocket, int width, int height) Brush additionalBrush = new SolidBrush(EntityCruiser.AdditionalColor); Brush BodyColor = new SolidBrush(EntityCruiser.BodyColor); - - - - GraphicsPath path1 = new GraphicsPath(); path1.AddLine(_startPosX + 100, _startPosY + 0, _startPosX + 0, _startPosY + 0); path1.AddLine(_startPosX + 0, _startPosY + 50, _startPosX + 0, _startPosY + 0); @@ -128,32 +121,27 @@ additionalColor, bool vert, bool rocket, int width, int height) g.FillPath(additionalBrush, path1); g.DrawPath(pen, path1); - Brush brBlack = new SolidBrush(Color.Black); g.DrawRectangle(pen, _startPosX - 3, _startPosY + 7, 3, 15); g.FillRectangle(brBlack, _startPosX - 3, _startPosY + 7, 3, 15); g.DrawRectangle(pen, _startPosX - 3, _startPosY + 25, 3, 15); g.FillRectangle(brBlack, _startPosX - 3, _startPosY + 25, 3, 15); - g.DrawRectangle(pen, _startPosX + 60, _startPosY + 12, 20, 25); g.FillRectangle(brBlack, _startPosX + 60, _startPosY + 12, 20, 25); g.DrawRectangle(pen, _startPosX + 30, _startPosY + 19, 30, 13); g.FillRectangle(brBlack, _startPosX + 30, _startPosY + 19, 30, 13); - if (EntityCruiser.Vert) { - Brush brRed = new SolidBrush(Color.Red); g.FillEllipse(brRed, _startPosX + 95, _startPosY + 15, 20, 20); g.DrawEllipse(pen, _startPosX + 95, _startPosY + 15, 20, 20); } + if (EntityCruiser.Rocket) { - - g.DrawEllipse(pen, _startPosX + 8, _startPosY + 3, 15, 12); g.FillEllipse(brBlack, _startPosX + 8, _startPosY + 3, 15, 12); @@ -162,11 +150,8 @@ additionalColor, bool vert, bool rocket, int width, int height) g.DrawEllipse(pen, _startPosX + 8, _startPosY + 33, 15, 12); g.FillEllipse(brBlack, _startPosX + 8, _startPosY + 33, 15, 12); - } - } - } } diff --git a/Cruiser/Cruiser/EntityCruiser.cs b/Cruiser/Cruiser/EntityCruiser.cs index 4c94386..3971b80 100644 --- a/Cruiser/Cruiser/EntityCruiser.cs +++ b/Cruiser/Cruiser/EntityCruiser.cs @@ -8,7 +8,6 @@ namespace Cruiser { internal class EntityCruiser { - public int Speed { get; private set; } public double Weight { get; private set; } @@ -17,7 +16,6 @@ namespace Cruiser public Color AdditionalColor { get; private set; } - public bool Vert { get; private set; } public bool Rocket { get; private set; } diff --git a/Cruiser/Cruiser/FormCruiser.cs b/Cruiser/Cruiser/FormCruiser.cs index c24a4bf..0cee200 100644 --- a/Cruiser/Cruiser/FormCruiser.cs +++ b/Cruiser/Cruiser/FormCruiser.cs @@ -4,14 +4,13 @@ namespace Cruiser { public partial class FormCruiser : Form { - private DrawningCruiser? _drawningCruiser; public FormCruiser() { InitializeComponent(); } - + private void Draw() { if (_drawningCruiser == null) -- 2.25.1