From 63b72d2531222f8606066bbc117e65e825c3309b Mon Sep 17 00:00:00 2001 From: the Date: Wed, 5 Oct 2022 12:05:46 +0400 Subject: [PATCH 1/2] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=20=D0=B2=D0=BE=D0=B7=D0=B2=D1=80=D0=B0=D1=89=D0=B0=D0=B5=D0=BC?= =?UTF-8?q?=D1=8B=D0=B9=20=D1=82=D0=B8=D0=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AirBomber/FormMapWithSetAirplanes.cs | 4 ++-- .../AirBomber/MapWithSetAirplanesGeneric.cs | 4 ++-- AirBomber/AirBomber/SetAirplanesGeneric.cs | 20 +++++++++---------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/AirBomber/AirBomber/FormMapWithSetAirplanes.cs b/AirBomber/AirBomber/FormMapWithSetAirplanes.cs index 1b88ac8..1c2eb7e 100644 --- a/AirBomber/AirBomber/FormMapWithSetAirplanes.cs +++ b/AirBomber/AirBomber/FormMapWithSetAirplanes.cs @@ -55,7 +55,7 @@ if (form.ShowDialog() == DialogResult.OK) { DrawningObject airplane = new(form.SelectedAirplane); - if (form.SelectedAirplane == null || !(_mapAirplanesCollectionGeneric + airplane)) + if (form.SelectedAirplane == null || (_mapAirplanesCollectionGeneric + airplane) == -1) { MessageBox.Show("Не удалось добавить объект"); } @@ -82,7 +82,7 @@ return; } int pos = Convert.ToInt32(maskedTextBoxPosition.Text); - if (_mapAirplanesCollectionGeneric - pos) + if (_mapAirplanesCollectionGeneric - pos == -1) { MessageBox.Show("Объект удален"); pictureBox.Image = _mapAirplanesCollectionGeneric.ShowSet(); diff --git a/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs b/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs index efe2f6c..3db04b7 100644 --- a/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs +++ b/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs @@ -58,7 +58,7 @@ namespace AirBomber /// /// /// - public static bool operator +(MapWithSetAirplanesGeneric map, T airplane) + public static int operator +(MapWithSetAirplanesGeneric map, T airplane) { return map._setAirplanes.Insert(airplane); } @@ -68,7 +68,7 @@ namespace AirBomber /// /// /// - public static bool operator -(MapWithSetAirplanesGeneric map, int position) + public static int operator -(MapWithSetAirplanesGeneric map, int position) { return map._setAirplanes.Remove(position); } diff --git a/AirBomber/AirBomber/SetAirplanesGeneric.cs b/AirBomber/AirBomber/SetAirplanesGeneric.cs index 178d798..103ade0 100644 --- a/AirBomber/AirBomber/SetAirplanesGeneric.cs +++ b/AirBomber/AirBomber/SetAirplanesGeneric.cs @@ -33,8 +33,8 @@ namespace AirBomber /// Добавление объекта в набор /// /// Добавляемый самолет - /// - public bool Insert(T airplane) + /// Возвращает позицию вставленого объекта либо -1, если не получилось его добавить + public int Insert(T airplane) { return Insert(airplane, 0); } @@ -48,8 +48,8 @@ namespace AirBomber /// /// Добавляемый самолет /// Позиция - /// - public bool Insert(T airplane, int position) + /// Возвращает позицию вставленого объекта либо -1, если не получилось его добавить + public int Insert(T airplane, int position) { int positionNullElement = position; while (Get(positionNullElement) != null) @@ -59,7 +59,7 @@ namespace AirBomber // Если изначальная позиция была некорректной или пустых элементов справа не оказалось возвращаем false if (!isCorrectPosition(positionNullElement)) { - return false; + return -1; } while (positionNullElement != position) // Смещение вправо { @@ -67,19 +67,19 @@ namespace AirBomber positionNullElement--; } _places[position] = airplane; - return true; + return position; } /// /// Удаление объекта из набора с конкретной позиции /// /// - /// - public bool Remove(int position) + /// Возвращает позицию вставленого объекта либо -1, если не получилось его добавить + public int Remove(int position) { if (!isCorrectPosition(position)) - return false; + return -1; _places[position] = null; - return true; + return position; } /// /// Получение объекта из набора по позиции From 17c69aebd79149431ba03ab276f44501b0f47aeb Mon Sep 17 00:00:00 2001 From: the Date: Wed, 5 Oct 2022 12:15:46 +0400 Subject: [PATCH 2/2] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AirBomber/AirBomber/FormMapWithSetAirplanes.cs | 2 +- AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs | 6 +++--- AirBomber/AirBomber/SetAirplanesGeneric.cs | 9 +++++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/AirBomber/AirBomber/FormMapWithSetAirplanes.cs b/AirBomber/AirBomber/FormMapWithSetAirplanes.cs index 1c2eb7e..9748436 100644 --- a/AirBomber/AirBomber/FormMapWithSetAirplanes.cs +++ b/AirBomber/AirBomber/FormMapWithSetAirplanes.cs @@ -82,7 +82,7 @@ return; } int pos = Convert.ToInt32(maskedTextBoxPosition.Text); - if (_mapAirplanesCollectionGeneric - pos == -1) + if (_mapAirplanesCollectionGeneric - pos != null) { MessageBox.Show("Объект удален"); pictureBox.Image = _mapAirplanesCollectionGeneric.ShowSet(); diff --git a/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs b/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs index 3db04b7..b61f003 100644 --- a/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs +++ b/AirBomber/AirBomber/MapWithSetAirplanesGeneric.cs @@ -57,7 +57,7 @@ namespace AirBomber /// /// /// - /// + /// Возвращает позицию вставленого объекта либо -1, если не получилось его добавить public static int operator +(MapWithSetAirplanesGeneric map, T airplane) { return map._setAirplanes.Insert(airplane); @@ -67,8 +67,8 @@ namespace AirBomber /// /// /// - /// - public static int operator -(MapWithSetAirplanesGeneric map, int position) + /// Возвращает удаленный объект, либо null если его не удалось удалить + public static T operator -(MapWithSetAirplanesGeneric map, int position) { return map._setAirplanes.Remove(position); } diff --git a/AirBomber/AirBomber/SetAirplanesGeneric.cs b/AirBomber/AirBomber/SetAirplanesGeneric.cs index 103ade0..5b17243 100644 --- a/AirBomber/AirBomber/SetAirplanesGeneric.cs +++ b/AirBomber/AirBomber/SetAirplanesGeneric.cs @@ -73,13 +73,14 @@ namespace AirBomber /// Удаление объекта из набора с конкретной позиции /// /// - /// Возвращает позицию вставленого объекта либо -1, если не получилось его добавить - public int Remove(int position) + /// Возвращает удаленный объект, либо null если его не удалось удалить + public T Remove(int position) { if (!isCorrectPosition(position)) - return -1; + return null; + var result = _places[position]; _places[position] = null; - return position; + return result; } /// /// Получение объекта из набора по позиции