Вроде как доделанная лаба

This commit is contained in:
ArtemEmelyanov 2022-10-29 15:28:55 +04:00
parent bc84a238c4
commit 75a36c4019
5 changed files with 51 additions and 14 deletions

View File

@ -92,6 +92,7 @@
this.buttonDeleteMap.TabIndex = 4;
this.buttonDeleteMap.Text = "Удалить карту";
this.buttonDeleteMap.UseVisualStyleBackColor = true;
this.buttonDeleteMap.Click += new System.EventHandler(this.buttonDeleteMap_Click_1);
//
// listBoxMaps
//
@ -111,6 +112,7 @@
this.buttonAddMap.TabIndex = 2;
this.buttonAddMap.Text = "Добавить карту";
this.buttonAddMap.UseVisualStyleBackColor = true;
this.buttonAddMap.Click += new System.EventHandler(this.buttonAddMap_Click_1);
//
// textBoxNewMapName
//

View File

@ -18,7 +18,8 @@ namespace Airbus
/// </summary>
private readonly Dictionary<string, AbstractMap> _mapsDict = new()
{
{ "Простая карта", new SimpleMap() }
{ "Простая карта", new SimpleMap() },
{ "Вторая карта", new MyMap() }
};
/// <summary>
/// Объект от коллекции карт
@ -62,7 +63,7 @@ namespace Airbus
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ButtonAddMap_Click(object sender, EventArgs e)
private void buttonAddMap_Click_1(object sender, EventArgs e)
{
if (comboBoxSelectorMap.SelectedIndex == -1 || string.IsNullOrEmpty(textBoxNewMapName.Text))
{
@ -92,7 +93,7 @@ namespace Airbus
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ButtonDeleteMap_Click(object sender, EventArgs e)
private void buttonDeleteMap_Click_1(object sender, EventArgs e)
{
if (listBoxMaps.SelectedIndex == -1)
{
@ -122,8 +123,7 @@ namespace Airbus
if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] + plane >= 0)
{
MessageBox.Show("Объект добавлен");
pictureBox.Image =
_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
}
else
{
@ -146,8 +146,7 @@ namespace Airbus
{
return;
}
if (MessageBox.Show("Удалить объект?", "Удаление",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
if (MessageBox.Show("Удалить объект?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
return;
}
@ -155,8 +154,7 @@ namespace Airbus
if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] - pos != null)
{
MessageBox.Show("Объект удален");
pictureBox.Image =
_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
}
else
{
@ -224,5 +222,7 @@ namespace Airbus
_mapsCollection[listBoxMaps.SelectedItem?.ToString() ??
string.Empty].MoveObject(dir);
}
}
}

View File

@ -178,10 +178,15 @@ namespace Airbus
/// <param name="g"></param>
private void DrawPlanes(Graphics g)
{
int width = _pictureWidth / _placeSizeWidth;
int height = _pictureHeight / _placeSizeHeight;
int i = 0;
foreach (var plane in _setPlanes.GetPlanes())
{
// TODO установка позиции
plane.SetObject((width - i % width - 1) * _placeSizeWidth, (height - i / width - 1) * _placeSizeHeight, _pictureWidth, _pictureHeight);
plane.DrawningObject(g);
i++;
}
}

View File

@ -43,6 +43,11 @@ namespace Airbus
public void AddMap(string name, AbstractMap map)
{
// TODO Прописать логику для добавления
if (_mapStorages.ContainsKey(name))
{
return;
}
_mapStorages.Add(name, new MapWithSetPlanesGeneric<DrawningObjectPlane, AbstractMap>(_pictureWidth, _pictureHeight, map));
}
/// <summary>
/// Удаление карты
@ -51,6 +56,7 @@ namespace Airbus
public void DelMap(string name)
{
// TODO Прописать логику для удаления
_mapStorages.Remove(name);
}
/// <summary>
/// Доступ к парковке
@ -62,6 +68,10 @@ namespace Airbus
get
{
// TODO Продумать логику получения объекта
if (_mapStorages.ContainsKey(ind))
{
return _mapStorages[ind];
}
return null;
}
}

View File

@ -36,7 +36,10 @@ namespace Airbus
{
// TODO вставка в начало набора
// TODO проверка на _maxCount
if (_places.Count + 1 >= _maxCount)
return -1;
_places.Insert(0, plane);
return 0;
}
/// <summary>
/// Добавление объекта в набор на конкретную позицию
@ -48,9 +51,15 @@ namespace Airbus
{
// TODO проверка позиции
// TODO вставка по позиции
_places[position] = plane;
if (position >= _maxCount || position < 0)
{
return -1;
}
if (_places.Count + 1 >= _maxCount)
return -1;
_places.Insert(position, plane);
return position;
}
/// <summary>
/// Удаление объекта из набора с конкретной позиции
/// </summary>
@ -60,9 +69,12 @@ namespace Airbus
{
// TODO проверка позиции
// TODO удаление объекта из массива, присовив элементу массива значение null
if (position < 0 || position >= Count || _places[position] == null) return null;
if (position >= _maxCount || position < 0)
{
return null;
}
T DeletePlane = _places[position];
_places[position] = null;
_places.RemoveAt(position);
return DeletePlane;
}
/// <summary>
@ -75,12 +87,20 @@ namespace Airbus
get
{
// TODO проверка позиции
if (position < 0 || position >= _maxCount)
{
return null;
}
return _places[position];
}
set
{
// TODO проверка позиции
// TODO вставка в список по позиции
if (position < 0 || position >= _maxCount)
{
Insert(value, position);
}
}
}
/// <summary>