Вроде как доделанная лаба
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.TabIndex = 4;
|
||||||
this.buttonDeleteMap.Text = "Удалить карту";
|
this.buttonDeleteMap.Text = "Удалить карту";
|
||||||
this.buttonDeleteMap.UseVisualStyleBackColor = true;
|
this.buttonDeleteMap.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonDeleteMap.Click += new System.EventHandler(this.buttonDeleteMap_Click_1);
|
||||||
//
|
//
|
||||||
// listBoxMaps
|
// listBoxMaps
|
||||||
//
|
//
|
||||||
@ -111,6 +112,7 @@
|
|||||||
this.buttonAddMap.TabIndex = 2;
|
this.buttonAddMap.TabIndex = 2;
|
||||||
this.buttonAddMap.Text = "Добавить карту";
|
this.buttonAddMap.Text = "Добавить карту";
|
||||||
this.buttonAddMap.UseVisualStyleBackColor = true;
|
this.buttonAddMap.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonAddMap.Click += new System.EventHandler(this.buttonAddMap_Click_1);
|
||||||
//
|
//
|
||||||
// textBoxNewMapName
|
// textBoxNewMapName
|
||||||
//
|
//
|
||||||
|
@ -18,7 +18,8 @@ namespace Airbus
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private readonly Dictionary<string, AbstractMap> _mapsDict = new()
|
private readonly Dictionary<string, AbstractMap> _mapsDict = new()
|
||||||
{
|
{
|
||||||
{ "Простая карта", new SimpleMap() }
|
{ "Простая карта", new SimpleMap() },
|
||||||
|
{ "Вторая карта", new MyMap() }
|
||||||
};
|
};
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Объект от коллекции карт
|
/// Объект от коллекции карт
|
||||||
@ -62,7 +63,7 @@ namespace Airbus
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></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))
|
if (comboBoxSelectorMap.SelectedIndex == -1 || string.IsNullOrEmpty(textBoxNewMapName.Text))
|
||||||
{
|
{
|
||||||
@ -92,7 +93,7 @@ namespace Airbus
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></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)
|
if (listBoxMaps.SelectedIndex == -1)
|
||||||
{
|
{
|
||||||
@ -122,8 +123,7 @@ namespace Airbus
|
|||||||
if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] + plane >= 0)
|
if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] + plane >= 0)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Объект добавлен");
|
MessageBox.Show("Объект добавлен");
|
||||||
pictureBox.Image =
|
pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
|
||||||
_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -146,8 +146,7 @@ namespace Airbus
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (MessageBox.Show("Удалить объект?", "Удаление",
|
if (MessageBox.Show("Удалить объект?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
||||||
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -155,8 +154,7 @@ namespace Airbus
|
|||||||
if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] - pos != null)
|
if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] - pos != null)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Объект удален");
|
MessageBox.Show("Объект удален");
|
||||||
pictureBox.Image =
|
pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
|
||||||
_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -224,5 +222,7 @@ namespace Airbus
|
|||||||
_mapsCollection[listBoxMaps.SelectedItem?.ToString() ??
|
_mapsCollection[listBoxMaps.SelectedItem?.ToString() ??
|
||||||
string.Empty].MoveObject(dir);
|
string.Empty].MoveObject(dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -178,10 +178,15 @@ namespace Airbus
|
|||||||
/// <param name="g"></param>
|
/// <param name="g"></param>
|
||||||
private void DrawPlanes(Graphics g)
|
private void DrawPlanes(Graphics g)
|
||||||
{
|
{
|
||||||
|
int width = _pictureWidth / _placeSizeWidth;
|
||||||
|
int height = _pictureHeight / _placeSizeHeight;
|
||||||
|
int i = 0;
|
||||||
foreach (var plane in _setPlanes.GetPlanes())
|
foreach (var plane in _setPlanes.GetPlanes())
|
||||||
{
|
{
|
||||||
// TODO установка позиции
|
// TODO установка позиции
|
||||||
|
plane.SetObject((width - i % width - 1) * _placeSizeWidth, (height - i / width - 1) * _placeSizeHeight, _pictureWidth, _pictureHeight);
|
||||||
plane.DrawningObject(g);
|
plane.DrawningObject(g);
|
||||||
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,6 +43,11 @@ namespace Airbus
|
|||||||
public void AddMap(string name, AbstractMap map)
|
public void AddMap(string name, AbstractMap map)
|
||||||
{
|
{
|
||||||
// TODO Прописать логику для добавления
|
// TODO Прописать логику для добавления
|
||||||
|
if (_mapStorages.ContainsKey(name))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_mapStorages.Add(name, new MapWithSetPlanesGeneric<DrawningObjectPlane, AbstractMap>(_pictureWidth, _pictureHeight, map));
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Удаление карты
|
/// Удаление карты
|
||||||
@ -51,6 +56,7 @@ namespace Airbus
|
|||||||
public void DelMap(string name)
|
public void DelMap(string name)
|
||||||
{
|
{
|
||||||
// TODO Прописать логику для удаления
|
// TODO Прописать логику для удаления
|
||||||
|
_mapStorages.Remove(name);
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Доступ к парковке
|
/// Доступ к парковке
|
||||||
@ -62,6 +68,10 @@ namespace Airbus
|
|||||||
get
|
get
|
||||||
{
|
{
|
||||||
// TODO Продумать логику получения объекта
|
// TODO Продумать логику получения объекта
|
||||||
|
if (_mapStorages.ContainsKey(ind))
|
||||||
|
{
|
||||||
|
return _mapStorages[ind];
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,10 @@ namespace Airbus
|
|||||||
{
|
{
|
||||||
// TODO вставка в начало набора
|
// TODO вставка в начало набора
|
||||||
// TODO проверка на _maxCount
|
// TODO проверка на _maxCount
|
||||||
return -1;
|
if (_places.Count + 1 >= _maxCount)
|
||||||
|
return -1;
|
||||||
|
_places.Insert(0, plane);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Добавление объекта в набор на конкретную позицию
|
/// Добавление объекта в набор на конкретную позицию
|
||||||
@ -48,8 +51,14 @@ namespace Airbus
|
|||||||
{
|
{
|
||||||
// TODO проверка позиции
|
// TODO проверка позиции
|
||||||
// TODO вставка по позиции
|
// TODO вставка по позиции
|
||||||
_places[position] = plane;
|
if (position >= _maxCount || position < 0)
|
||||||
return -1;
|
{
|
||||||
|
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 проверка позиции
|
||||||
// TODO удаление объекта из массива, присовив элементу массива значение null
|
// TODO удаление объекта из массива, присовив элементу массива значение null
|
||||||
if (position < 0 || position >= Count || _places[position] == null) return null;
|
if (position >= _maxCount || position < 0)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
T DeletePlane = _places[position];
|
T DeletePlane = _places[position];
|
||||||
_places[position] = null;
|
_places.RemoveAt(position);
|
||||||
return DeletePlane;
|
return DeletePlane;
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -75,12 +87,20 @@ namespace Airbus
|
|||||||
get
|
get
|
||||||
{
|
{
|
||||||
// TODO проверка позиции
|
// TODO проверка позиции
|
||||||
|
if (position < 0 || position >= _maxCount)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return _places[position];
|
return _places[position];
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
// TODO проверка позиции
|
// TODO проверка позиции
|
||||||
// TODO вставка в список по позиции
|
// TODO вставка в список по позиции
|
||||||
|
if (position < 0 || position >= _maxCount)
|
||||||
|
{
|
||||||
|
Insert(value, position);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
Loading…
Reference in New Issue
Block a user