From eb9c54279137478f54a55a910227ceec7da5e17e Mon Sep 17 00:00:00 2001 From: 1SooNoo1 Date: Tue, 10 Oct 2023 20:54:30 +0400 Subject: [PATCH] Lab_3_Kryukov_AI_Excavator --- .../ProjectExcavator/DrawningExcavator.cs | 3 +-- .../ProjectExcavator/ExcavatorForm.cs | 11 +++++++++-- .../ExcavatorGenericCollection.cs | 4 ++-- .../ProjectExcavator/FormExcavatorCollection.cs | 2 +- ProjectExcavator/ProjectExcavator/SetGeneric.cs | 15 --------------- 5 files changed, 13 insertions(+), 22 deletions(-) diff --git a/ProjectExcavator/ProjectExcavator/DrawningExcavator.cs b/ProjectExcavator/ProjectExcavator/DrawningExcavator.cs index 863cbf7..f555c8a 100644 --- a/ProjectExcavator/ProjectExcavator/DrawningExcavator.cs +++ b/ProjectExcavator/ProjectExcavator/DrawningExcavator.cs @@ -18,7 +18,6 @@ namespace ProjectExcavator.DrawningObjects /// Получение объекта IMoveableObject из объекта DrawningCar /// public IMoveableObject GetMoveableObject => new DrawningObjectExcavator(this); - /// /// Ширина окна /// @@ -175,7 +174,7 @@ namespace ProjectExcavator.DrawningObjects } Pen pen = new(Color.Black); //корпус - Brush bodyBrush = new SolidBrush(Color.Aqua); + Brush bodyBrush = new SolidBrush(EntityExcavator.BodyColor); g.FillRectangle(bodyBrush, _startPosX + 20, _startPosY + 60, 130, 20); g.FillRectangle(bodyBrush, _startPosX + 100, _startPosY + 20, 30, 40); g.FillRectangle(bodyBrush, _startPosX + 30, _startPosY + 40, 10, 20); diff --git a/ProjectExcavator/ProjectExcavator/ExcavatorForm.cs b/ProjectExcavator/ProjectExcavator/ExcavatorForm.cs index 95bad8d..1f341e7 100644 --- a/ProjectExcavator/ProjectExcavator/ExcavatorForm.cs +++ b/ProjectExcavator/ProjectExcavator/ExcavatorForm.cs @@ -1,5 +1,6 @@ using ProjectExcavator.DrawningObjects; using ProjectExcavator.MovementStrategy; +using System.Drawing; namespace ProjectExcavator { @@ -51,12 +52,18 @@ namespace ProjectExcavator private void buttonCreate_Click(object sender, EventArgs e) { Random random = new(); + Color color = Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)); + ColorDialog mainDialog = new ColorDialog(); + if (mainDialog.ShowDialog() == DialogResult.OK) + { + color = mainDialog.Color; + } _drawnigExcavator = new DrawningExcavator( random.Next(100, 300), random.Next(1000, 3000), - Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)), + color, pictureBoxExcavator.Width, - pictureBoxExcavator.Height); + pictureBoxExcavator.Height) ; Draw(); } private void buttonMove_Click(object sender, EventArgs e) diff --git a/ProjectExcavator/ProjectExcavator/ExcavatorGenericCollection.cs b/ProjectExcavator/ProjectExcavator/ExcavatorGenericCollection.cs index 845e7b5..b457d0a 100644 --- a/ProjectExcavator/ProjectExcavator/ExcavatorGenericCollection.cs +++ b/ProjectExcavator/ProjectExcavator/ExcavatorGenericCollection.cs @@ -15,7 +15,7 @@ namespace ProjectExcavator.Generic { private readonly int _pictureWidth; private readonly int _pictureHeight; - private readonly int _placeSizeWidth = 210; + private readonly int _placeSizeWidth = 200; private readonly int _placeSizeHeight = 110; private readonly SetGeneric _collection; public ExcavatorGenericCollection(int picWidth, int picHeight) @@ -64,7 +64,7 @@ namespace ProjectExcavator.Generic { for (int j = 0; j < _pictureHeight / _placeSizeHeight; j++) { - g.DrawLine(pen, i * i * _placeSizeWidth, j * _placeSizeHeight, i * _placeSizeWidth + _placeSizeWidth / 2, j * _placeSizeHeight); + g.DrawLine(pen, i * _placeSizeWidth, j * _placeSizeHeight, i * _placeSizeWidth + _placeSizeWidth / 2, j * _placeSizeHeight); } g.DrawLine(pen, i * _placeSizeWidth, 0, i * _placeSizeWidth, _pictureHeight / _placeSizeHeight * _placeSizeHeight); diff --git a/ProjectExcavator/ProjectExcavator/FormExcavatorCollection.cs b/ProjectExcavator/ProjectExcavator/FormExcavatorCollection.cs index bf77445..29ea4c3 100644 --- a/ProjectExcavator/ProjectExcavator/FormExcavatorCollection.cs +++ b/ProjectExcavator/ProjectExcavator/FormExcavatorCollection.cs @@ -27,7 +27,7 @@ namespace ProjectExcavator ExcavatorForm form = new(); if (form.ShowDialog() == DialogResult.OK) { - if (_excavators + form.SelectedExcavator) + if (_excavators + form.SelectedExcavator != -1) { MessageBox.Show("Объект добален"); pictureBoxCollection.Image = _excavators.ShowExcavator(); diff --git a/ProjectExcavator/ProjectExcavator/SetGeneric.cs b/ProjectExcavator/ProjectExcavator/SetGeneric.cs index b64f6dc..e0c83ee 100644 --- a/ProjectExcavator/ProjectExcavator/SetGeneric.cs +++ b/ProjectExcavator/ProjectExcavator/SetGeneric.cs @@ -17,21 +17,6 @@ namespace ProjectExcavator } public int Insert(T excavator) { - int i = 0; - for (; i < _places.Length; i++) - { - if (_places[i] == null) - { - break; - } - } - if (i == _places.Length) - return -1; - for (; i > 0; i--) - { - _places[i] = _places[i - 1]; - } - _places[i] = excavator; return Insert(excavator,0); } public int Insert(T excavator, int position)