diff --git a/DumpTruck/DumpTruck/AbstractStrategy.cs b/DumpTruck/DumpTruck/AbstractStrategy.cs index 6d34abf..384cdd5 100644 --- a/DumpTruck/DumpTruck/AbstractStrategy.cs +++ b/DumpTruck/DumpTruck/AbstractStrategy.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace DumpTruck.MovementStrategy { - abstract class AbstractStrategy + public abstract class AbstractStrategy { /// @@ -35,8 +35,7 @@ namespace DumpTruck.MovementStrategy /// Перемещаемый объект /// Ширина поля /// Высота поля - public void SetData(IMoveableObject moveableObject, int width, int - height) + public void SetData(IMoveableObject moveableObject, int width, int height) { if (moveableObject == null) { @@ -57,12 +56,12 @@ namespace DumpTruck.MovementStrategy { return; } - ////// // if (IsTargetDestinaion()) + if (IsTargetDestinaion()) { _state = Status.Finish; return; } - ////////// // MoveToTarget(); + MoveToTarget(); } /// /// Перемещение влево diff --git a/DumpTruck/DumpTruck/DrawningDumpTruck.cs b/DumpTruck/DumpTruck/DrawningDumpTruck.cs index 85140dd..6ecb5ee 100644 --- a/DumpTruck/DumpTruck/DrawningDumpTruck.cs +++ b/DumpTruck/DumpTruck/DrawningDumpTruck.cs @@ -20,7 +20,8 @@ namespace DumpTruck.DrawningObjects /// Высота картинки /// true - объект создан, false - проверка не пройдена, public DrawningDumpTruck(int speed, double weight, Color bodyColor, Color - additionalColor, bool trailer, int width, int height) : base (speed, weight, bodyColor, additionalColor, width, height,100, 55) + additionalColor, bool trailer, int width, int height) : + base (speed, weight, bodyColor, additionalColor, width, height,110, 85) { if (EntityTruck != null) { diff --git a/DumpTruck/DumpTruck/DrawningObjectTruck.cs b/DumpTruck/DumpTruck/DrawningObjectTruck.cs index 5b046d3..2a1ae9a 100644 --- a/DumpTruck/DumpTruck/DrawningObjectTruck.cs +++ b/DumpTruck/DumpTruck/DrawningObjectTruck.cs @@ -33,4 +33,3 @@ namespace DumpTruck.MovementStrategy public void MoveObject(DirectionType direction) => _drawningTruck?.MoveTransport(direction); } } -} diff --git a/DumpTruck/DumpTruck/DrawningTruck.cs b/DumpTruck/DumpTruck/DrawningTruck.cs index 721fa11..df0a319 100644 --- a/DumpTruck/DumpTruck/DrawningTruck.cs +++ b/DumpTruck/DumpTruck/DrawningTruck.cs @@ -19,11 +19,11 @@ namespace DumpTruck.DrawningObjects /// /// Ширина окна /// - private int _pictureWidth; + public int _pictureWidth; /// /// Высота окна /// - private int _pictureHeight; + public int _pictureHeight; /// /// Левая координата прорисовки автомобиля /// @@ -35,11 +35,11 @@ namespace DumpTruck.DrawningObjects /// /// Ширина прорисовки автомобиля /// - protected readonly int _truckWidth = 100; + protected readonly int _truckWidth = 110; /// /// Высота прорисовки автомобиля /// - protected readonly int _truckHeight = 55; + protected readonly int _truckHeight = 85; /// /// Координата X объекта /// @@ -68,6 +68,10 @@ namespace DumpTruck.DrawningObjects public DrawningTruck(int speed, double weight, Color bodyColor,Color additionalColor, int width, int height) { // TODO: Продумать проверки + if (width < _truckWidth || height < _truckHeight) + { + return; + } _pictureWidth = width; _pictureHeight = height; EntityTruck = new EntityTruck(speed, weight, bodyColor, additionalColor); diff --git a/DumpTruck/DumpTruck/FormDumpTruck.Designer.cs b/DumpTruck/DumpTruck/FormDumpTruck.Designer.cs index 86ae448..108c2ad 100644 --- a/DumpTruck/DumpTruck/FormDumpTruck.Designer.cs +++ b/DumpTruck/DumpTruck/FormDumpTruck.Designer.cs @@ -27,12 +27,15 @@ /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormDumpTruck)); this.pictureBoxDumpTruck = new System.Windows.Forms.PictureBox(); this.buttonUp = new System.Windows.Forms.Button(); this.buttonLeft = new System.Windows.Forms.Button(); this.buttonRight = new System.Windows.Forms.Button(); this.buttonDown = new System.Windows.Forms.Button(); + this.Create_Truck_Button = new System.Windows.Forms.Button(); + this.CreateDumpTruckButton = new System.Windows.Forms.Button(); + this.comboBoxStrategy = new System.Windows.Forms.ComboBox(); + this.Step_Button = new System.Windows.Forms.Button(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxDumpTruck)).BeginInit(); this.SuspendLayout(); // @@ -41,15 +44,14 @@ this.pictureBoxDumpTruck.Dock = System.Windows.Forms.DockStyle.Fill; this.pictureBoxDumpTruck.Location = new System.Drawing.Point(0, 0); this.pictureBoxDumpTruck.Name = "pictureBoxDumpTruck"; - this.pictureBoxDumpTruck.Size = new System.Drawing.Size(800, 450); + this.pictureBoxDumpTruck.Size = new System.Drawing.Size(884, 461); this.pictureBoxDumpTruck.TabIndex = 0; this.pictureBoxDumpTruck.TabStop = false; // // buttonUp // - this.buttonUp.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonUp.BackgroundImage"))); this.buttonUp.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; - this.buttonUp.Location = new System.Drawing.Point(734, 375); + this.buttonUp.Location = new System.Drawing.Point(795, 374); this.buttonUp.Name = "buttonUp"; this.buttonUp.Size = new System.Drawing.Size(24, 26); this.buttonUp.TabIndex = 2; @@ -60,9 +62,8 @@ // buttonLeft // this.buttonLeft.BackColor = System.Drawing.SystemColors.ControlDark; - this.buttonLeft.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonLeft.BackgroundImage"))); this.buttonLeft.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; - this.buttonLeft.Location = new System.Drawing.Point(704, 407); + this.buttonLeft.Location = new System.Drawing.Point(765, 406); this.buttonLeft.Name = "buttonLeft"; this.buttonLeft.Size = new System.Drawing.Size(24, 26); this.buttonLeft.TabIndex = 3; @@ -72,9 +73,8 @@ // // buttonRight // - this.buttonRight.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonRight.BackgroundImage"))); this.buttonRight.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; - this.buttonRight.Location = new System.Drawing.Point(764, 407); + this.buttonRight.Location = new System.Drawing.Point(825, 407); this.buttonRight.Name = "buttonRight"; this.buttonRight.Size = new System.Drawing.Size(24, 26); this.buttonRight.TabIndex = 4; @@ -84,9 +84,8 @@ // // buttonDown // - this.buttonDown.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonDown.BackgroundImage"))); this.buttonDown.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; - this.buttonDown.Location = new System.Drawing.Point(734, 407); + this.buttonDown.Location = new System.Drawing.Point(795, 406); this.buttonDown.Name = "buttonDown"; this.buttonDown.Size = new System.Drawing.Size(24, 26); this.buttonDown.TabIndex = 5; @@ -94,11 +93,58 @@ this.buttonDown.UseVisualStyleBackColor = true; this.buttonDown.Click += new System.EventHandler(this.ButtonMove_Click); // + // Create_Truck_Button + // + this.Create_Truck_Button.Location = new System.Drawing.Point(12, 392); + this.Create_Truck_Button.Name = "Create_Truck_Button"; + this.Create_Truck_Button.Size = new System.Drawing.Size(123, 23); + this.Create_Truck_Button.TabIndex = 6; + this.Create_Truck_Button.Text = "Create Truck"; + this.Create_Truck_Button.UseVisualStyleBackColor = true; + this.Create_Truck_Button.Click += new System.EventHandler(this.Create_Truck_Button_Click); + // + // CreateDumpTruckButton + // + this.CreateDumpTruckButton.Location = new System.Drawing.Point(166, 392); + this.CreateDumpTruckButton.Name = "CreateDumpTruckButton"; + this.CreateDumpTruckButton.Size = new System.Drawing.Size(168, 23); + this.CreateDumpTruckButton.TabIndex = 7; + this.CreateDumpTruckButton.Text = "Create DumpTruck"; + this.CreateDumpTruckButton.UseVisualStyleBackColor = true; + this.CreateDumpTruckButton.Click += new System.EventHandler(this.CreateDumpTruckButton_Click); + // + // comboBoxStrategy + // + this.comboBoxStrategy.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.comboBoxStrategy.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBoxStrategy.FormattingEnabled = true; + this.comboBoxStrategy.Items.AddRange(new object[] { + "MoveToCenter", + "MoveToBorder"}); + this.comboBoxStrategy.Location = new System.Drawing.Point(751, 12); + this.comboBoxStrategy.Name = "comboBoxStrategy"; + this.comboBoxStrategy.Size = new System.Drawing.Size(121, 23); + this.comboBoxStrategy.TabIndex = 8; + // + // Step_Button + // + this.Step_Button.Location = new System.Drawing.Point(797, 41); + this.Step_Button.Name = "Step_Button"; + this.Step_Button.Size = new System.Drawing.Size(75, 23); + this.Step_Button.TabIndex = 9; + this.Step_Button.Text = "Step"; + this.Step_Button.UseVisualStyleBackColor = true; + this.Step_Button.Click += new System.EventHandler(this.Step_Button_Click); + // // FormDumpTruck // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(800, 450); + this.ClientSize = new System.Drawing.Size(884, 461); + this.Controls.Add(this.Step_Button); + this.Controls.Add(this.comboBoxStrategy); + this.Controls.Add(this.CreateDumpTruckButton); + this.Controls.Add(this.Create_Truck_Button); this.Controls.Add(this.buttonDown); this.Controls.Add(this.buttonRight); this.Controls.Add(this.buttonLeft); @@ -118,5 +164,9 @@ private Button buttonLeft; private Button buttonRight; private Button buttonDown; + private Button Create_Truck_Button; + private Button CreateDumpTruckButton; + private ComboBox comboBoxStrategy; + private Button Step_Button; } } \ No newline at end of file diff --git a/DumpTruck/DumpTruck/FormDumpTruck.cs b/DumpTruck/DumpTruck/FormDumpTruck.cs index 8f9d1cb..d7c5ead 100644 --- a/DumpTruck/DumpTruck/FormDumpTruck.cs +++ b/DumpTruck/DumpTruck/FormDumpTruck.cs @@ -15,7 +15,9 @@ namespace DumpTruck { public partial class FormDumpTruck : Form { - private DrawningDumpTruck? _drawningDumpTruck; + private DrawningTruck? _drawningTruck; + + private AbstractStrategy? _abstractStrategy; public FormDumpTruck() { @@ -23,28 +25,44 @@ namespace DumpTruck } private void Draw() { - if (_drawningDumpTruck == null) + if (_drawningTruck == null) { return; } Bitmap bmp = new(pictureBoxDumpTruck.Width, pictureBoxDumpTruck.Height); Graphics gr = Graphics.FromImage(bmp); - _drawningDumpTruck.DrawTransport(gr); + _drawningTruck.DrawTransport(gr); pictureBoxDumpTruck.Image = bmp; } + private void Create_Truck_Button_Click(object sender, EventArgs e) + { + Random random = new(); + _drawningTruck = new DrawningTruck(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)), + pictureBoxDumpTruck.Width, pictureBoxDumpTruck.Height); + _drawningTruck.SetPosition(random.Next(10, 100), random.Next(10, 100)); + Draw(); + } + private void CreateDumpTruckButton_Click(object sender, EventArgs e) + { + Random random = new(); + _drawningTruck = new DrawningDumpTruck(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(1), pictureBoxDumpTruck.Width, pictureBoxDumpTruck.Height); + _drawningTruck.SetPosition(random.Next(10, 100), random.Next(10, 100)); + Draw(); + } /// /// Обработка нажатия кнопки "Создать" /// /// - /// - private void Butt1on_Create_Click(object sender, EventArgs e) - { - - } + /// private void ButtonMove_Click(object sender, EventArgs e) { - if (_drawningDumpTruck == null) + if (_drawningTruck == null) { return; } @@ -52,19 +70,56 @@ namespace DumpTruck switch (name) { case "buttonUp": - _drawningDumpTruck.MoveTransport(DirectionType.Up); + _drawningTruck.MoveTransport(DirectionType.Up); break; case "buttonDown": - _drawningDumpTruck.MoveTransport(DirectionType.Down); + _drawningTruck.MoveTransport(DirectionType.Down); break; case "buttonLeft": - _drawningDumpTruck.MoveTransport(DirectionType.Left); + _drawningTruck.MoveTransport(DirectionType.Left); break; case "buttonRight": - _drawningDumpTruck.MoveTransport(DirectionType.Right); + _drawningTruck.MoveTransport(DirectionType.Right); break; } Draw(); - } + } + + private void Step_Button_Click(object sender, EventArgs e) + { + if (_drawningTruck == null) + { + return; + } + if (comboBoxStrategy.Enabled) + { + _abstractStrategy = comboBoxStrategy.SelectedIndex + switch + { + 0 => new MoveToCenter(), + 1 => new MoveToBorder(), + _ => null, + }; + if (_abstractStrategy == null) + { + return; + } + _abstractStrategy.SetData(new + DrawningObjectTruck(_drawningTruck), pictureBoxDumpTruck.Width, + pictureBoxDumpTruck.Height); + comboBoxStrategy.Enabled = false; + } + if (_abstractStrategy == null) + { + return; + } + _abstractStrategy.MakeStep(); + Draw(); + if (_abstractStrategy.GetStatus() == Status.Finish) + { + comboBoxStrategy.Enabled = true; + _abstractStrategy = null; + } + } } } diff --git a/DumpTruck/DumpTruck/FormDumpTruck.resx b/DumpTruck/DumpTruck/FormDumpTruck.resx index ff0022e..f298a7b 100644 --- a/DumpTruck/DumpTruck/FormDumpTruck.resx +++ b/DumpTruck/DumpTruck/FormDumpTruck.resx @@ -57,435 +57,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - 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 - AElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAA4QAAAOEBAMAAAALYOIIAAAABGdBTUEAALGPC/xhBQAAABJQTFRF5ubm - AQEB////AAAAa2trubm55kNtzgAAAAlwSFlzAAAOvAAADrwBlbxySQAAFy1JREFUeNrtnV2S6ka2RkFB - v7ese98VCmkA6hwBlzsB4tjzn0qTPxLC5lBCKH++qsVDVy932yf5VmxD1lbmPnT+1R78C5RD4pBH4pBH - 4pBH4pBH4pBH4pBH4pBH4pBH4pBH4pBH4pBH4pBH4pBH4pDH6VWFvw6qInHII3HII3HII3HII3HII3HI - I3HII3HII3HII3HII3HII3HII3HII3EIY/hJ700WiUMeiUMeiUMeiUMeiUMeiUMeiUMeiUMeiUMeiUMe - iUMeiUMeiUMeiUMepxe9N3UkDnkkDnkkDnkkDnkkDnkkDnkkDnkkDnkkDnkkDnkkDnkkDnkkDnkkDmEM - P+m9ySJxyCNxyCNxyCNxyCNxyCNxyCNxyCNxyCNxyCNxyCNxyCNxyCNxyCNxyOP0ovemjsQhj8Qhj8Qh - j8Qhj8Qhj8Qhj8Qhj8Qhj8Qhj8Qhj8Qhj8Qhj8Qhj8QhjOEnvTdZJA55JA55JA55JA55JA55JA55JA55 - JA55JA55JA55JA55JA55JA55JA55nF703tSROOSROOSROOSROOSROOSROOSROOSROOSROOSROOSROOSR - OOSROOSROIQx/KT3JovEIY/EIY/EIY/EIY/EIY/EIY/EIY/EIY/EIY/EIY/EIY/EIY/EIY/EIY/Ti96b - OhKHPBKHPBKHPBKHPBKHPBKHPBKHPBKHPBKHPBKHPBKHPBKHPBKHPBKHMIaf9N5kkTjk8We+//9DoThe - /0ChNvYGhdo4NCjUxrZuGhRK48WMKFTG7liPNQqFsTqZsUahMFZD3dQoVMb2YmoUKmN3bUYUKqP9IKQK - lbHqa9N8R4Xh9QO6a63zZ26v5t+0fCXx7D4IncI/UCiI3dG4rzJUoSpWJ/9llCpUxWrwX2SoQlkMe3qq - UBa7q/8gpApV0e7pR6pQGKu+MQ1VqIxD3TSGKhRG26c3fBYKY3WtbwapQmHsb8oMVSiM7oOQKlTG257e - mO9dheHnN+0X3vf0rhRvL1q+WugfWEOhLro+PQqVcWjM1KBAoSR2Z7unR6Eu2q8yBoXC2J38nh6Fsug+ - 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 - 6s+aKhRHNw8fhdI4n8NHoSrO5/BRKIvzU/oolMXpKX1ONgnj2f+mja69LoYdPl17XbQ9/IYqlMbqz5Eq - FEd7l/68P6QKJfG2w29qqlAZFzt8qlAU7zt8qlAV5x0+VSiL7YUqVMeWKpTHvnYXsVOFwng0s0KqUBR/ - 2T4FVSiNtoffGE426eJth+9/z0bLVxanHT4KdXG6Sx+Fumif0h9RqIzuHP6IQmW0PXyqUBxPVKE8Xg0K - xbG9GBSK40AVymP/HxSqY4VCsCAkDnkkDnmcXj+iX/itkTjkkTjkkTjkkTjkkTjkkTjkkTjkkTjkkTjk - kTjkkTjkkTjkkTjkkTiEMfyk9yaLxCGPxCGPxCGPxCGPxCGPxCGPxCGPxCGPxCGPxCGPxCGPxCGPxCGP - xCGP04vemzoShzwShzwShzwShzwShzwShzwShzwShzwShzwShzwShzwShzwShzwShzCGn/TeZJE45JE4 - 5JE45JE45JE45JE45JE45JE45JE45JE45JE45JE45JE45JE45HF60XtTR+KQR+KQR+KQR+KQR+KQR+KQ - R+KQR+KQR+KQR+KQR+KQR+KQR+KQR+IQxvCT3pssEoc8Eoc8Eoc8Eoc8Eoc8Eoc8Eoc8Eoc8Eoc8Eoc8 - Eoc8Eoc8Eoc8Eoc8Ti96b+pIHPJIHPJIHPJIHPJIHPJIHPJIHPJIHPJIHPJIHPJIHPJIHPJIHPJIHMIY - ftJ7k0XikEfikEfikEfikEfikEfikEfikEfikEfikEfikEfikEfikEfikEfikMfpRe9NHYlDHolDHolD - HolDHolDHolDHolDHolDHolDHolDHolDHolDHolDHolDFbvuv59U64TBojvPAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAA4QAAAOEBAMAAAALYOIIAAAABGdBTUEAALGPC/xhBQAAABJQTFRF5ubm - AQEB////AAAAa2trubm55kNtzgAAAAlwSFlzAAAOvgAADr4B6kKxwAAAFlpJREFUeNrtndFy47h2RT36 - ArNov8tKfgAF3XdHlfueuCr//ysRQJCy3W7LkkUSC1p80aypm+45e+W0dRoE8LAbnu3D8Ig4NA48Ggce - jQOPxoFH48CjceDROPBoHHg0DjwaBx6NA4/GgUfjwKNx4HF8NuXfi1Q0DjwaBx6NA4/GgUfjwKNx4NE4 - 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 - BxV3u/8HvQ0pN6ppBNIAAAAASUVORK5CYII= - - - - - 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 - - \ No newline at end of file diff --git a/DumpTruck/DumpTruck/MoveToBorder.cs b/DumpTruck/DumpTruck/MoveToBorder.cs index 6cadba1..b1d25e4 100644 --- a/DumpTruck/DumpTruck/MoveToBorder.cs +++ b/DumpTruck/DumpTruck/MoveToBorder.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using DumpTruck.DrawningObjects; namespace DumpTruck.MovementStrategy { diff --git a/DumpTruck/DumpTruck/MoveToCenter.cs b/DumpTruck/DumpTruck/MoveToCenter.cs index 0b4ea5a..db1cc3b 100644 --- a/DumpTruck/DumpTruck/MoveToCenter.cs +++ b/DumpTruck/DumpTruck/MoveToCenter.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using DumpTruck.DrawningObjects; namespace DumpTruck.MovementStrategy {