diff --git a/AntiAirCraftGun/AntiAirCraftGun/Generics/AntiAirCraftGunGenericCollection.cs b/AntiAirCraftGun/AntiAirCraftGun/Generics/AntiAirCraftGunGenericCollection.cs
index 20b9208..3ff0441 100644
--- a/AntiAirCraftGun/AntiAirCraftGun/Generics/AntiAirCraftGunGenericCollection.cs
+++ b/AntiAirCraftGun/AntiAirCraftGun/Generics/AntiAirCraftGunGenericCollection.cs
@@ -51,32 +51,26 @@ namespace AntiAircraftGun.Generics
///
///
///
- public static bool operator +(AntiAirCraftGunGenericCollection collect, T?
- obj)
+ public static int operator +(AntiAirCraftGunGenericCollection collect, T? obj)
{
if (obj == null)
- {
- return false;
- }
- return collect?._collection.Insert(obj) ?? false;
+ return -1;
+ return collect?._collection.Insert(obj) ?? -1;
}
-
///
/// Перегрузка оператора вычитания
///
///
///
///
- public static T? operator -(AntiAirCraftGunGenericCollection collect, int
- pos)
+ public static bool operator -(AntiAirCraftGunGenericCollection collect, int pos)
{
- T? obj = collect._collection.Get(pos);
- if (obj != null)
- {
- collect._collection.Remove(pos);
- }
- return obj;
+ T? obj = collect._collection.Get(pos);
+ if (obj != null)
+ return collect._collection.Remove(pos);
+ return false;
}
+
///
/// Получение объекта IMoveableObject
///
@@ -156,9 +150,21 @@ namespace AntiAircraftGun.Generics
if (y+distance_between_objects >= maxY)
{
y = 0;
- x += obj.GetWidth+10 + distance_between_objects;
+ x += _placeSizeWidth;
}
}
+ if (obj == null)
+ {
+ // Увеличиваем координату Y для следующего объекта
+ y += distance_between_objects;
+
+ // Проверяем, если Y достигло максимума, изменяем X и сбрасываем Y
+ if (y+distance_between_objects >= maxY)
+ {
+ y = 0;
+ x += _placeSizeWidth;
+ }
+ };
}
}
}
diff --git a/AntiAirCraftGun/AntiAirCraftGun/Generics/SetGeneric.cs b/AntiAirCraftGun/AntiAirCraftGun/Generics/SetGeneric.cs
index 017d217..bdfeac1 100644
--- a/AntiAirCraftGun/AntiAirCraftGun/Generics/SetGeneric.cs
+++ b/AntiAirCraftGun/AntiAirCraftGun/Generics/SetGeneric.cs
@@ -30,7 +30,7 @@ namespace AntiAircraftGun.Generics
///
/// Добавляемый автомобиль
///
- public bool Insert(T car)
+ public int Insert(T car)
{
// Вставка в начало набора
for (int i = 0; i < _places.Length; i++)
@@ -38,10 +38,10 @@ namespace AntiAircraftGun.Generics
if (_places[i] == null)
{
_places[i] = car;
- return true;
+ return 1;
}
}
- return false; // Если нет пустых мест
+ return -1; // Если нет пустых мест
}
///
/// Добавление объекта в набор на конкретную позицию
@@ -49,15 +49,15 @@ namespace AntiAircraftGun.Generics
/// Добавляемый автомобиль
/// Позиция
///
- public bool Insert(T car, int position)
+ public int Insert(T car, int position)
{
// Проверка позиции
if (position < 0 || position >= _places.Length)
- return false;
+ return -1;
// Проверка, что элемент массива по этой позиции пустой
if (_places[position] != null)
- return false;
+ return -1;
// Проверка, что после вставляемого элемента в массиве есть пустой элемент
for (int i = position + 1; i < _places.Length; i++)
@@ -70,11 +70,11 @@ namespace AntiAircraftGun.Generics
_places[j] = _places[j - 1];
}
_places[position] = car;
- return true;
+ return 1;
}
}
- return false; // Если нет пустых мест справа
+ return -1; // Если нет пустых мест справа
}
///
/// Удаление объекта из набора с конкретной позиции