создание BoatCompareByType
This commit is contained in:
parent
49a4f5fc8f
commit
20b507a35f
12
Catamaran/BoatCompareByType.cs
Normal file
12
Catamaran/BoatCompareByType.cs
Normal file
@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Catamaran
|
||||
{
|
||||
internal class BoatCompareByType
|
||||
{
|
||||
}
|
||||
}
|
@ -206,6 +206,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AbstractMap.cs" />
|
||||
<Compile Include="BoatCompareByType.cs" />
|
||||
<Compile Include="BoatNotFoundException.cs" />
|
||||
<Compile Include="DrawingCatamaran.cs" />
|
||||
<Compile Include="DrawingObjectBoat.cs" />
|
||||
|
@ -21,28 +21,28 @@ namespace Catamaran
|
||||
return _catamaran?.GetCurrentPosition() ?? default;
|
||||
}
|
||||
|
||||
public bool Equals(IDrawingObject ? other)
|
||||
public bool Equals(IDrawingObject other)
|
||||
{
|
||||
if (other == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
var otherCar = other as DrawingObjectBoat;
|
||||
if (otherCar == null)
|
||||
var otherBoat = other as DrawingObjectBoat;
|
||||
if (otherBoat == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
var car = _car.Car;
|
||||
var otherCarCar = otherCar._car.Car;
|
||||
if (car.Speed != otherCarCar.Speed)
|
||||
var boat = _catamaran.Catamaran;
|
||||
var otherBoatBoat = otherBoat._catamaran.Catamaran;
|
||||
if (boat.Speed != otherBoatBoat.Speed)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (car.Weight != otherCarCar.Weight)
|
||||
if (boat.Weight != otherBoatBoat.Weight)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (car.BodyColor != otherCarCar.BodyColor)
|
||||
if (boat.BodyColor != otherBoatBoat.BodyColor)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ namespace Catamaran
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
internal class SetBoatsGeneric<T>
|
||||
where T : class
|
||||
where T : class, IEquatable<T>
|
||||
{
|
||||
/// <summary>
|
||||
/// Массив объектов, которые храним
|
||||
@ -40,15 +40,7 @@ namespace Catamaran
|
||||
public int Insert(T boat)
|
||||
{
|
||||
|
||||
for (int i = 0; i < _maxCount; i++)
|
||||
{
|
||||
if (i == Count)
|
||||
{
|
||||
_places.Insert(i, boat);
|
||||
return i;
|
||||
}
|
||||
}
|
||||
throw new StorageOverflowException(_maxCount);
|
||||
return Insert(boat, 0);
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
@ -59,13 +51,15 @@ namespace Catamaran
|
||||
/// <returns></returns>
|
||||
public int Insert(T boat, int position)
|
||||
{
|
||||
// TODO проверка позиции
|
||||
// TODO проверка на уникальность
|
||||
|
||||
// проверка позиции
|
||||
if (position < 0 || position >= _maxCount)
|
||||
{
|
||||
return -1 ;
|
||||
|
||||
}
|
||||
// TODO проверка, что элемент массива по этой позиции пустой,если нет, то
|
||||
// проверка, что элемент массива по этой позиции пустой,если нет, то
|
||||
// проверка, что после вставляемого элемента в массиве есть пустой элемент
|
||||
// сдвиг всех объектов, находящихся справа от позиции до первого пустого элемента
|
||||
if (position == Count)
|
||||
@ -89,7 +83,7 @@ namespace Catamaran
|
||||
}
|
||||
throw new StorageOverflowException(_maxCount);
|
||||
}
|
||||
// TODO вставка по позиции
|
||||
// вставка по позиции
|
||||
}
|
||||
/// <summary>
|
||||
/// Удаление объекта из набора с конкретной позиции
|
||||
@ -98,9 +92,9 @@ namespace Catamaran
|
||||
/// <returns></returns>
|
||||
public T Remove(int position)
|
||||
{
|
||||
// TODO проверка позиции
|
||||
// проверка позиции
|
||||
if (position < 0 || position >= Count) throw new BoatNotFoundException();
|
||||
// TODO удаление объекта из массива, присовив элементу массива значение null
|
||||
// удаление объекта из массива, присовив элементу массива значение null
|
||||
var result = _places[position];
|
||||
_places.RemoveAt(position);
|
||||
return result;
|
||||
@ -112,7 +106,7 @@ namespace Catamaran
|
||||
/// <returns></returns>
|
||||
public T this[int position]
|
||||
{
|
||||
// TODO проверка позиции
|
||||
// проверка позиции
|
||||
get
|
||||
{
|
||||
if (position >= 0 && position < _maxCount && position < Count)
|
||||
|
Loading…
Reference in New Issue
Block a user