diff --git a/DoubleDeckerBus/Drawing/DrawingBus.cs b/DoubleDeckerBus/Drawing/DrawingBus.cs index 1d1d530..8e09e82 100644 --- a/DoubleDeckerBus/Drawing/DrawingBus.cs +++ b/DoubleDeckerBus/Drawing/DrawingBus.cs @@ -90,35 +90,23 @@ namespace DoubleDeckerbus.Drawing } public virtual void DrawTransport(Graphics g) { - Pen pen = new(Color.Black); - Brush additionalBrush = new SolidBrush(EntityBus.BodyColor); - g.FillRectangle(additionalBrush, _startPosX + 147, _startPosY + 52, 21, 20); g.FillRectangle(additionalBrush, _startPosX + 147, _startPosY + 71, 30, 27); g.FillRectangle(additionalBrush, _startPosX + 10, _startPosY + 52, 137, 46); - - Brush brBlue = new SolidBrush(Color.LightBlue); - g.FillRectangle(brBlue, _startPosX + 150, _startPosY + 55, 15, 15); - g.FillRectangle(brBlue, _startPosX + 42, _startPosY + 55, 15, 15); g.FillRectangle(brBlue, _startPosX + 69, _startPosY + 55, 15, 15); g.FillRectangle(brBlue, _startPosX + 96, _startPosY + 55, 15, 15); g.FillRectangle(brBlue, _startPosX + 123, _startPosY + 55, 15, 15); - - g.DrawLine(pen, _startPosX + 30, _startPosY + 52, _startPosX + 30, _startPosY + 98); g.DrawLine(pen, _startPosX + 35, _startPosY + 52, _startPosX + 35, _startPosY + 98); - Brush gr = new SolidBrush(Color.Gray); - g.FillEllipse(additionalBrush, _startPosX + 23, _startPosY + 88, 25, 25); g.FillEllipse(additionalBrush, _startPosX + 123, _startPosY + 88, 25, 25); - g.FillEllipse(gr, _startPosX + 25, _startPosY + 90, 21, 21); g.FillEllipse(gr, _startPosX + 125, _startPosY + 90, 21, 21); } @@ -137,7 +125,6 @@ namespace DoubleDeckerbus.Drawing _ => false, }; } - public void ChangeBordersPicture(int width, int height) { _pictureWidth = width; diff --git a/DoubleDeckerBus/Drawing/DrawingDoubleDeckerbus.cs b/DoubleDeckerBus/Drawing/DrawingDoubleDeckerbus.cs index 4022bcf..a2e7a84 100644 --- a/DoubleDeckerBus/Drawing/DrawingDoubleDeckerbus.cs +++ b/DoubleDeckerBus/Drawing/DrawingDoubleDeckerbus.cs @@ -27,16 +27,12 @@ namespace DoubleDeckerbus.Drawing Pen additionalPen = new(doubleDeckerBus.AddColor); Brush additionalBrush = new SolidBrush(doubleDeckerBus.AddColor); base.DrawTransport(g); - if (doubleDeckerBus.IsSecondFloor) { Brush additionalBrush2 = new SolidBrush(doubleDeckerBus.AddColor); Brush brBlue = new SolidBrush(Color.LightBlue); - g.FillRectangle(additionalBrush2, _startPosX + 7, _startPosY + 12, 172, 40); - g.DrawLine(pen, _startPosX + 7, _startPosY + 36, _startPosX + 178, _startPosY + 36); - g.FillRectangle(brBlue, _startPosX + 15, _startPosY + 15, 15, 15); g.FillRectangle(brBlue, _startPosX + 42, _startPosY + 15, 15, 15); g.FillRectangle(brBlue, _startPosX + 69, _startPosY + 15, 15, 15); diff --git a/DoubleDeckerBus/Drawing/ExtentionDrawingBus.cs b/DoubleDeckerBus/Drawing/ExtentionDrawingBus.cs index a30d045..0edc07d 100644 --- a/DoubleDeckerBus/Drawing/ExtentionDrawingBus.cs +++ b/DoubleDeckerBus/Drawing/ExtentionDrawingBus.cs @@ -44,5 +44,4 @@ namespace DoubleDeckerbus.Drawing return $"{str}{separatorForObject}{DoubleDeckerBus.AddColor.Name}{separatorForObject}{DoubleDeckerBus.IsSecondFloor}{separatorForObject}{DoubleDeckerBus.IsStairs}"; } } -} - +} \ No newline at end of file diff --git a/DoubleDeckerBus/Entities/EntityDoubleDeckerbus.cs b/DoubleDeckerBus/Entities/EntityDoubleDeckerbus.cs index c36669c..58b903d 100644 --- a/DoubleDeckerBus/Entities/EntityDoubleDeckerbus.cs +++ b/DoubleDeckerBus/Entities/EntityDoubleDeckerbus.cs @@ -12,7 +12,6 @@ namespace DoubleDeckerbus.Entities public Color AddColor { get; private set; } public bool IsSecondFloor { get; private set; } public bool IsStairs { get; private set; } - public EntityDoubleDeckerbus(int speed, double weight, Color bodyColor, Color additionalColor, bool secondfloor, bool stairs) : base(speed, weight, bodyColor) { AddColor = additionalColor; diff --git a/DoubleDeckerBus/FormBusConfig.cs b/DoubleDeckerBus/FormBusConfig.cs index 21faed7..c00f4c7 100644 --- a/DoubleDeckerBus/FormBusConfig.cs +++ b/DoubleDeckerBus/FormBusConfig.cs @@ -48,11 +48,13 @@ namespace DoubleDeckerbus EventAddBus += ev; } } + private void LabelObject_MouseDown(object sender, MouseEventArgs e) { (sender as Label)?.DoDragDrop((sender as Label)?.Name, DragDropEffects.Move | DragDropEffects.Copy); } + private void PanelObject_DragEnter(object sender, DragEventArgs e) { if (e.Data?.GetDataPresent(DataFormats.Text) ?? false) @@ -92,7 +94,6 @@ namespace DoubleDeckerbus (sender as Panel)?.DoDragDrop((sender as Panel)?.BackColor, DragDropEffects.Move | DragDropEffects.Copy); } - private void LabelMainColor_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(typeof(Color)) && _bus != null) @@ -138,4 +139,4 @@ namespace DoubleDeckerbus Close(); } } -} +} \ No newline at end of file diff --git a/DoubleDeckerBus/FormDoubleDeckerbusCollection.Designer.cs b/DoubleDeckerBus/FormDoubleDeckerbusCollection.Designer.cs index b625dd7..f3ab4a9 100644 --- a/DoubleDeckerBus/FormDoubleDeckerbusCollection.Designer.cs +++ b/DoubleDeckerBus/FormDoubleDeckerbusCollection.Designer.cs @@ -46,6 +46,8 @@ this.loadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveFileDialog = new System.Windows.Forms.SaveFileDialog(); this.openFileDialog = new System.Windows.Forms.OpenFileDialog(); + this.button1 = new System.Windows.Forms.Button(); + this.Sort_color_button = new System.Windows.Forms.Button(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxCollection)).BeginInit(); this.menuStrip.SuspendLayout(); this.SuspendLayout(); @@ -129,7 +131,7 @@ this.listBoxStorages.Location = new System.Drawing.Point(850, 160); this.listBoxStorages.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); this.listBoxStorages.Name = "listBoxStorages"; - this.listBoxStorages.Size = new System.Drawing.Size(132, 109); + this.listBoxStorages.Size = new System.Drawing.Size(132, 34); this.listBoxStorages.TabIndex = 8; this.listBoxStorages.SelectedIndexChanged += new System.EventHandler(this.listBoxObjects_SelectedIndexChanged); // @@ -187,14 +189,14 @@ // saveToolStripMenuItem // this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; - this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.saveToolStripMenuItem.Size = new System.Drawing.Size(133, 22); this.saveToolStripMenuItem.Text = "Сохранить"; this.saveToolStripMenuItem.Click += new System.EventHandler(this.SaveToolStripMenuItem_Click); // // loadToolStripMenuItem // this.loadToolStripMenuItem.Name = "loadToolStripMenuItem"; - this.loadToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.loadToolStripMenuItem.Size = new System.Drawing.Size(133, 22); this.loadToolStripMenuItem.Text = "Загрузить"; this.loadToolStripMenuItem.Click += new System.EventHandler(this.LoadToolStripMenuItem_Click); // @@ -207,11 +209,33 @@ this.openFileDialog.FileName = "openFileDialog1"; this.openFileDialog.Filter = "txt file | *.txt"; // + // button1 + // + this.button1.Location = new System.Drawing.Point(850, 199); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(131, 23); + this.button1.TabIndex = 13; + this.button1.Text = "Сортировка по типу"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.buttonSortByType_Click); + // + // Sort_color_button + // + this.Sort_color_button.Location = new System.Drawing.Point(845, 228); + this.Sort_color_button.Name = "Sort_color_button"; + this.Sort_color_button.Size = new System.Drawing.Size(144, 23); + this.Sort_color_button.TabIndex = 14; + this.Sort_color_button.Text = "Сортировка по цвету"; + this.Sort_color_button.UseVisualStyleBackColor = true; + this.Sort_color_button.Click += new System.EventHandler(this.Sort_Color_button_Click); + // // FormDoubleDeckerbusCollection // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(1003, 504); + this.Controls.Add(this.Sort_color_button); + this.Controls.Add(this.button1); this.Controls.Add(this.textBoxStorageName); this.Controls.Add(this.buttonDeleteStorage); this.Controls.Add(this.buttonAddStorage); @@ -255,5 +279,7 @@ private ToolStripMenuItem loadToolStripMenuItem; private SaveFileDialog saveFileDialog; private OpenFileDialog openFileDialog; + private Button button1; + private Button Sort_color_button; } } \ No newline at end of file diff --git a/DoubleDeckerBus/FormDoubleDeckerbusCollection.cs b/DoubleDeckerBus/FormDoubleDeckerbusCollection.cs index ed2b001..8177a62 100644 --- a/DoubleDeckerBus/FormDoubleDeckerbusCollection.cs +++ b/DoubleDeckerBus/FormDoubleDeckerbusCollection.cs @@ -12,8 +12,7 @@ using DoubleDeckerbus.Drawing; using DoubleDeckerbus.Move_Strategy; using Microsoft.Extensions.Logging; using DoubleDeckerbus.Exceptions; - - +using DoubleDeckerbus.Generics; namespace DoubleDeckerbus { @@ -27,13 +26,29 @@ namespace DoubleDeckerbus _storage = new BusesGenericStorage(pictureBoxCollection.Width, pictureBoxCollection.Height); _logger = logger; } + private void buttonSortByType_Click(object sender, EventArgs e) => CompareBus(new BusCompareByType()); + private void Sort_Color_button_Click(object sender, EventArgs e) => CompareBus(new BusCompareByColor()); + private void CompareBus(IComparer comparer) + { + if (listBoxStorages.SelectedIndex == -1) + { + return; + } + var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty]; + if (obj == null) + { + return; + } + obj.Sort(comparer); + pictureBoxCollection.Image = obj.ShowBus(); + } private void ReloadObjects() { int index = listBoxStorages.SelectedIndex; listBoxStorages.Items.Clear(); for (int i = 0; i < _storage.Keys.Count; i++) { - listBoxStorages.Items.Add(_storage.Keys[i]); + listBoxStorages.Items.Add(_storage.Keys[i].Name); } if (listBoxStorages.Items.Count > 0 && (index == -1 || index >= listBoxStorages.Items.Count)) { @@ -43,7 +58,6 @@ namespace DoubleDeckerbus { listBoxStorages.SelectedIndex = index; } - } private void buttonAddStorage_Click(object sender, EventArgs e) { @@ -74,8 +88,6 @@ namespace DoubleDeckerbus _logger.LogInformation($"Удалён набор: {name}"); } } - - private void buttonAddBus_Click(object sender, EventArgs e) { @@ -83,7 +95,6 @@ namespace DoubleDeckerbus formBusConfig.AddEvent(AddBus); formBusConfig.Show(); } - private void AddBus(DrawingBus selectedBus) { if (listBoxStorages.SelectedIndex == -1) @@ -115,8 +126,12 @@ namespace DoubleDeckerbus MessageBox.Show(ex.Message); _logger.LogWarning(ex.Message); } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + _logger.LogWarning(ex.Message); + } } - private void buttonDeleteBus_Click(object sender, EventArgs e) { if (listBoxStorages.SelectedIndex == -1) @@ -171,7 +186,6 @@ namespace DoubleDeckerbus } pictureBoxCollection.Image = obj.ShowBus(); } - private void SaveToolStripMenuItem_Click(object sender, EventArgs e) { if (saveFileDialog.ShowDialog() == DialogResult.OK) @@ -208,4 +222,4 @@ namespace DoubleDeckerbus ReloadObjects(); } } -} +} \ No newline at end of file diff --git a/DoubleDeckerBus/Generic/BusCollectionInfo.cs b/DoubleDeckerBus/Generic/BusCollectionInfo.cs new file mode 100644 index 0000000..e2e9a89 --- /dev/null +++ b/DoubleDeckerBus/Generic/BusCollectionInfo.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DoubleDeckerbus.Generics +{ + internal class BusCollectionInfo : IEquatable + { + public string Name { get; private set; } + public string Description { get; private set; } + public BusCollectionInfo(string name, string description) + { + Name = name; + Description = description; + } + public bool Equals(BusCollectionInfo? other) + { + if (ReferenceEquals(other, null)) + return false; + + return Name.Equals(other.Name); + } + public override int GetHashCode() => Name.GetHashCode(); + } +} diff --git a/DoubleDeckerBus/Generic/BusCompareByColor.cs b/DoubleDeckerBus/Generic/BusCompareByColor.cs new file mode 100644 index 0000000..e1144d1 --- /dev/null +++ b/DoubleDeckerBus/Generic/BusCompareByColor.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using DoubleDeckerbus.Drawing; +using DoubleDeckerbus.Entities; + +namespace DoubleDeckerbus.Generics +{ + internal class BusCompareByColor : IComparer + { + public int Compare(DrawingBus? x, DrawingBus? y) + { + if (x == null || x.EntityBus == null) + throw new ArgumentNullException(nameof(x)); + + if (y == null || y.EntityBus == null) + throw new ArgumentNullException(nameof(y)); + var xBus = x.EntityBus; + var yBus = y.EntityBus; + + if (xBus.BodyColor != yBus.BodyColor) + return xBus.BodyColor.Name.CompareTo(yBus.BodyColor.Name); + var speedCompare = x.EntityBus.Speed.CompareTo(y.EntityBus.Speed); + if (speedCompare != 0) + return speedCompare; + return x.EntityBus.Weight.CompareTo(y.EntityBus.Weight); + } + } +} diff --git a/DoubleDeckerBus/Generic/BusCompareByType.cs b/DoubleDeckerBus/Generic/BusCompareByType.cs new file mode 100644 index 0000000..c8303fb --- /dev/null +++ b/DoubleDeckerBus/Generic/BusCompareByType.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using DoubleDeckerbus.Drawing; + +namespace DoubleDeckerbus.Generics +{ + internal class BusCompareByType : IComparer + { + public int Compare(DrawingBus? x, DrawingBus? y) + { + if (x == null || x.EntityBus == null) + throw new ArgumentNullException(nameof(x)); + + if (y == null || y.EntityBus == null) + throw new ArgumentNullException(nameof(y)); + + if (x.GetType().Name != y.GetType().Name) + return x.GetType().Name.CompareTo(y.GetType().Name); + var speedCompare = x.EntityBus.Speed.CompareTo(y.EntityBus.Speed); + if (speedCompare != 0) + return speedCompare; + return x.EntityBus.Weight.CompareTo(y.EntityBus.Weight); + } + } +} \ No newline at end of file diff --git a/DoubleDeckerBus/Generic/BusGenericCollection.cs b/DoubleDeckerBus/Generic/BusGenericCollection.cs index 1cde817..ba83f8b 100644 --- a/DoubleDeckerBus/Generic/BusGenericCollection.cs +++ b/DoubleDeckerBus/Generic/BusGenericCollection.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using DoubleDeckerbus.Drawing; +using DoubleDeckerbus.Generics; using DoubleDeckerbus.Move_Strategy; namespace DoubleDeckerbus.Generic @@ -26,11 +27,12 @@ namespace DoubleDeckerbus.Generic _collection = new SetGeneric(width * height); } + public void Sort(IComparer comparer) => _collection.SortSet(comparer); public static int operator +(BusGenericCollection collect, T? obj) { if (obj != null) { - return collect._collection.Insert(obj); + return collect._collection.Insert(obj, new DrawingBusEqutables()); } return -1; } @@ -71,6 +73,7 @@ namespace DoubleDeckerbus.Generic { int x = _pictureWidth / _placeSizeWidth - 1; int y = 0; + foreach (var bus in _collection.GetBus()) { if (bus != null) diff --git a/DoubleDeckerBus/Generic/BusesGenericStorage.cs b/DoubleDeckerBus/Generic/BusesGenericStorage.cs index 4b2deeb..9ac6644 100644 --- a/DoubleDeckerBus/Generic/BusesGenericStorage.cs +++ b/DoubleDeckerBus/Generic/BusesGenericStorage.cs @@ -3,55 +3,74 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using DoubleDeckerbus.Generics; using DoubleDeckerbus.Drawing; +using DoubleDeckerbus.Generics; using DoubleDeckerbus.Move_Strategy; namespace DoubleDeckerbus.Generic { internal class BusesGenericStorage { - readonly Dictionary> _busStorages; - public List Keys => _busStorages.Keys.ToList(); + //Словарь (хранилище) + readonly Dictionary> _busStorages; + //Возвращение списка названий наборов + public List Keys => _busStorages.Keys.ToList(); + //Ширина окна отрисовки private readonly int _pictureWidth; + //Высота окна отрисовки private readonly int _pictureHeight; + + // Разделитель для записи ключа и значения элемента словаря private static readonly char _separatorForKeyValue = '|'; + // Разделитель для записей коллекции данных в файл private readonly char _separatorRecords = ';'; + // Разделитель для записи информации по объекту в файл private static readonly char _separatorForObject = ':'; public BusesGenericStorage(int pictureWidth, int pictureHeight) { - _busStorages = new Dictionary>(); + _busStorages = new Dictionary>(); _pictureWidth = pictureWidth; _pictureHeight = pictureHeight; } + + // Добавление набора public void AddSet(string name) { - foreach (string nameStorage in Keys) - { - if (nameStorage == name) - { - return; - } - } - _busStorages.Add(name, new BusGenericCollection(_pictureWidth, _pictureHeight)); + BusCollectionInfo set = new BusCollectionInfo(name, string.Empty); + + if (_busStorages.ContainsKey(set)) + return; + + _busStorages.Add(set, new BusGenericCollection(_pictureWidth, _pictureHeight)); } + + // Удаление набора public void DelSet(string name) { - if (_busStorages.ContainsKey(name)) - { - _busStorages.Remove(name); - } + BusCollectionInfo set = new BusCollectionInfo(name, string.Empty); + + // проверка, что нет набора с таким именем + if (!_busStorages.ContainsKey(set)) + return; + + _busStorages.Remove(set); } + + // Доступ к набору public BusGenericCollection? this[string ind] { get { - if (_busStorages.ContainsKey(ind)) + BusCollectionInfo set = new BusCollectionInfo(ind, string.Empty); + + if (!_busStorages.ContainsKey(set)) { - return _busStorages[ind]; + return null; } - return null; + return _busStorages[set]; } } public void SaveData(string filename) @@ -61,7 +80,7 @@ namespace DoubleDeckerbus.Generic File.Delete(filename); } StringBuilder data = new(); - foreach (KeyValuePair> record in _busStorages) { StringBuilder records = new(); @@ -132,7 +151,7 @@ namespace DoubleDeckerbus.Generic } } } - _busStorages.Add(record[0], collection); + _busStorages.Add(new BusCollectionInfo(record[0], string.Empty), collection); } } } diff --git a/DoubleDeckerBus/Generic/DrawingBusEqutables.cs b/DoubleDeckerBus/Generic/DrawingBusEqutables.cs new file mode 100644 index 0000000..7302de8 --- /dev/null +++ b/DoubleDeckerBus/Generic/DrawingBusEqutables.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Diagnostics.CodeAnalysis; +using DoubleDeckerbus.Drawing; +using DoubleDeckerbus.Entities; + +namespace DoubleDeckerbus.Generics +{ + internal class DrawingBusEqutables : IEqualityComparer + { + public bool Equals(DrawingBus? x, DrawingBus? y) + { + if (x == null && x.EntityBus == null) + throw new ArgumentNullException(nameof(x)); + + if (y == null && y.EntityBus == null) + throw new ArgumentNullException(nameof(y)); + + if ((x.GetType().Name != y.GetType().Name)) + return false; + + if (x.EntityBus.Speed != y.EntityBus.Speed) + return false; + + if (x.EntityBus.Weight != y.EntityBus.Weight) + return false; + + if (x.EntityBus.BodyColor != y.EntityBus.BodyColor) + return false; + + if (x is DrawingDoubleDeckerbus && y is DrawingDoubleDeckerbus) + { + var xDoublebus = (EntityDoubleDeckerbus)x.EntityBus; + var yDoublebus = (EntityDoubleDeckerbus)y.EntityBus; + + if (xDoublebus.AddColor != yDoublebus.AddColor) + return false; + + if (xDoublebus.IsSecondFloor != yDoublebus.IsSecondFloor) + return false; + + if (xDoublebus.IsStairs != yDoublebus.IsStairs) + return false; + } + return true; + } + + public int GetHashCode([DisallowNull] DrawingBus? obj) + { + return obj.GetHashCode(); + } + + } +} diff --git a/DoubleDeckerBus/Generic/SetGeneric.cs b/DoubleDeckerBus/Generic/SetGeneric.cs index 79ee0ba..a5239b9 100644 --- a/DoubleDeckerBus/Generic/SetGeneric.cs +++ b/DoubleDeckerBus/Generic/SetGeneric.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; + namespace DoubleDeckerbus.Generic { internal class SetGeneric @@ -18,11 +19,13 @@ namespace DoubleDeckerbus.Generic _maxCount = count; _places = new List(count); } - public int Insert(T bus) + public int Insert(T bus, IEqualityComparer? equal = null) { - return Insert(bus, 0); + return Insert(bus, 0, equal); } - public int Insert(T bus, int position) + + public void SortSet(IComparer comparer) => _places.Sort(comparer); + public int Insert(T bus, int position, IEqualityComparer? equal = null) { if (Count >= _maxCount) { @@ -32,6 +35,10 @@ namespace DoubleDeckerbus.Generic { throw new IndexOutOfRangeException("Индекс вне границ коллекции"); } + if (equal != null && _places.Contains(bus, equal)) + { + throw new ArgumentException("Данный объект уже есть в коллекции"); + } _places.Insert(position, bus); return 0; } diff --git a/DoubleDeckerBus/Move_Strategy/MoveToBorder.cs b/DoubleDeckerBus/Move_Strategy/MoveToBorder.cs index 51fdcd9..a519580 100644 --- a/DoubleDeckerBus/Move_Strategy/MoveToBorder.cs +++ b/DoubleDeckerBus/Move_Strategy/MoveToBorder.cs @@ -38,6 +38,7 @@ namespace DoubleDeckerbus.Move_Strategy { MoveRight(); } + } var diffY = objParams.ObjectMiddleVertical - FieldHeight; if (Math.Abs(diffY) > GetStep())