Вроде как доделанная лаба
This commit is contained in:
parent
bc84a238c4
commit
75a36c4019
2
Airbus/Airbus/FormMapWithSetPlanes.Designer.cs
generated
2
Airbus/Airbus/FormMapWithSetPlanes.Designer.cs
generated
@ -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
|
||||
//
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -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++;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -36,7 +36,10 @@ namespace Airbus
|
||||
{
|
||||
// TODO вставка в начало набора
|
||||
// TODO проверка на _maxCount
|
||||
return -1;
|
||||
if (_places.Count + 1 >= _maxCount)
|
||||
return -1;
|
||||
_places.Insert(0, plane);
|
||||
return 0;
|
||||
}
|
||||
/// <summary>
|
||||
/// Добавление объекта в набор на конкретную позицию
|
||||
@ -48,8 +51,14 @@ namespace Airbus
|
||||
{
|
||||
// TODO проверка позиции
|
||||
// TODO вставка по позиции
|
||||
_places[position] = plane;
|
||||
return -1;
|
||||
if (position >= _maxCount || position < 0)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
if (_places.Count + 1 >= _maxCount)
|
||||
return -1;
|
||||
_places.Insert(position, plane);
|
||||
return position;
|
||||
}
|
||||
/// <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>
|
||||
|
Loading…
Reference in New Issue
Block a user