Исправила недочеты

This commit is contained in:
bulatova_karina 2023-11-05 15:52:59 +03:00
parent a0f62132e3
commit d55c245c5e
4 changed files with 21 additions and 39 deletions

View File

@ -79,7 +79,7 @@ namespace WarmlyShip
EventArgs e) EventArgs e)
{ {
pictureBoxCollection.Image = pictureBoxCollection.Image =
_storage[listBoxStorages.SelectedItem?.ToString() ?? string.Empty]?.ShowShips(); _storage[listBoxStorages.SelectedItem?.ToString() ?? string.Empty]?.ShowShips();
} }
/// <summary> /// <summary>
/// Удаление набора /// Удаление набора
@ -92,11 +92,9 @@ namespace WarmlyShip
{ {
return; return;
} }
if (MessageBox.Show($"Удалить объект{listBoxStorages.SelectedItem}?", "Удаление", MessageBoxButtons.YesNo, if (MessageBox.Show($"Удалить объект {listBoxStorages.SelectedItem}?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
MessageBoxIcon.Question) == DialogResult.Yes)
{ {
_storage.DelSet(listBoxStorages.SelectedItem.ToString() _storage.DelSet(listBoxStorages.SelectedItem.ToString() ?? string.Empty);
?? string.Empty);
ReloadObjects(); ReloadObjects();
} }
} }
@ -143,14 +141,12 @@ namespace WarmlyShip
{ {
return; return;
} }
var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? var obj = _storage[listBoxStorages.SelectedItem.ToString() ?? string.Empty];
string.Empty];
if (obj == null) if (obj == null)
{ {
return; return;
} }
if (MessageBox.Show("Удалить объект?", "Удаление", if (MessageBox.Show("Удалить объект?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{ {
return; return;
} }

View File

@ -14,7 +14,7 @@ namespace WarmlyShip.Generics
/// </summary> /// </summary>
private readonly List<T?> _places; private readonly List<T?> _places;
/// <summary> /// <summary>
/// Количество объектов в массиве /// Количество объектов в списке
/// </summary> /// </summary>
public int Count => _places.Count; public int Count => _places.Count;
/// <summary> /// <summary>
@ -37,39 +37,26 @@ namespace WarmlyShip.Generics
/// <returns></returns> /// <returns></returns>
public bool Insert(T warmlyship) public bool Insert(T warmlyship)
{ {
// TODO вставка в начало набора if (_places.Count == _maxCount)
{
return false;
}
Insert(warmlyship, 0);
return true; return true;
} }
/// <summary> /// <summary>
/// Добавление объекта в набор на конкретную позицию /// Добавление объекта в набор на конкретную позицию
/// </summary> /// </summary>
/// <param name="car">Добавляемый теплоход</param> /// <param name="warmlyship">Добавляемый теплоход</param>
/// <param name="position">Позиция</param> /// <param name="position">Позиция</param>
/// <returns></returns> /// <returns></returns>
public bool Insert(T warmlyship, int position) public bool Insert(T warmlyship, int position)
{ {
int nullIndex = -1; if (!(position >= 0 && position <= Count && _places.Count < _maxCount))
int i;
if (position < 0 || position >= Count)
return false;
for (i = position; i < Count; i++)
{ {
if (_places[i] == null)
{
nullIndex = i;
break;
}
}
if (nullIndex < 0)
return false; return false;
for (i = nullIndex; i > position; i--)
{
_places[i] = _places[i - 1];
} }
_places[position] = warmlyship; _places.Insert(position, warmlyship);
return true; return true;
} }
/// <summary> /// <summary>
@ -83,7 +70,7 @@ namespace WarmlyShip.Generics
{ {
return false; return false;
} }
_places.RemoveAt(position); _places[position] = null;
return true; return true;
} }
/// <summary> /// <summary>

View File

@ -110,7 +110,7 @@ namespace WarmlyShip.Generics
{ {
for (int j = 0; j < _pictureHeight / _placeSizeHeight + for (int j = 0; j < _pictureHeight / _placeSizeHeight +
1; ++j) 1; ++j)
{//линия рамзетки места {
g.DrawLine(pen, i * _placeSizeWidth, j * g.DrawLine(pen, i * _placeSizeWidth, j *
_placeSizeHeight, i * _placeSizeWidth + _placeSizeWidth / 2, j * _placeSizeHeight, i * _placeSizeWidth + _placeSizeWidth / 2, j *
_placeSizeHeight); _placeSizeHeight);
@ -128,9 +128,6 @@ namespace WarmlyShip.Generics
int i = 0; int i = 0;
foreach (var ship in _collection.GetShips()) foreach (var ship in _collection.GetShips())
{ {
// TODO получение объекта
// TODO установка позиции
// TODO прорисовка объекта
if (ship != null) if (ship != null)
{ {
int width = _pictureWidth / _placeSizeWidth; int width = _pictureWidth / _placeSizeWidth;

View File

@ -45,7 +45,11 @@ namespace WarmlyShip.Generics
/// <param name="name">Название набора</param> /// <param name="name">Название набора</param>
public void AddSet(string name) public void AddSet(string name)
{ {
_shipStorages.Add(name, new ShipsGenericCollection<DrawingWarmlyShip, DrawingObjectShip>(_pictureWidth, _pictureHeight)); if (_shipStorages.ContainsKey(name))
{
return;
}
_shipStorages[name] = new ShipsGenericCollection<DrawingWarmlyShip, DrawingObjectShip>(_pictureWidth, _pictureHeight);
} }
/// <summary> /// <summary>
/// Удаление набора /// Удаление набора
@ -53,7 +57,6 @@ namespace WarmlyShip.Generics
/// <param name="name">Название набора</param> /// <param name="name">Название набора</param>
public void DelSet(string name) public void DelSet(string name)
{ {
// TODO Прописать логику для удаления
if (!_shipStorages.ContainsKey(name)) if (!_shipStorages.ContainsKey(name))
{ {
return; return;
@ -71,7 +74,6 @@ namespace WarmlyShip.Generics
{ {
get get
{ {
// TODO Продумать логику получения набора
if (_shipStorages.ContainsKey(ind)) if (_shipStorages.ContainsKey(ind))
{ {
return _shipStorages[ind]; return _shipStorages[ind];