Лаба 3 без допов.
This commit is contained in:
parent
34d5daf3b1
commit
6eebbbad7c
@ -63,9 +63,9 @@ public abstract class AbstractCompany
|
|||||||
/// <param name="company">Компания</param>
|
/// <param name="company">Компания</param>
|
||||||
/// <param name="dozer">Добавляемый объект</param>
|
/// <param name="dozer">Добавляемый объект</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static bool operator +(AbstractCompany company, DrawningDozer dozer)
|
public static int operator +(AbstractCompany company, DrawningDozer dozer)
|
||||||
{
|
{
|
||||||
return company._collection?.Insert(dozer) ?? false;
|
return company._collection.Insert(dozer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -74,9 +74,9 @@ public abstract class AbstractCompany
|
|||||||
/// <param name="company">Компания</param>
|
/// <param name="company">Компания</param>
|
||||||
/// <param name="position">Номер удаляемого объекта</param>
|
/// <param name="position">Номер удаляемого объекта</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static bool operator -(AbstractCompany company, int position)
|
public static DrawningDozer? operator -(AbstractCompany company, int position)
|
||||||
{
|
{
|
||||||
return company._collection?.Remove(position) ?? false;
|
return company._collection.Remove(position);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -31,8 +31,10 @@ public class Garage : AbstractCompany
|
|||||||
{
|
{
|
||||||
int cntVertically = _pictureHeight / _placeSizeHeight; //Колличество мест по вертикали
|
int cntVertically = _pictureHeight / _placeSizeHeight; //Колличество мест по вертикали
|
||||||
int cntHorizontally = _pictureWidth / _placeSizeWidth; //Колличество мест по горизонтали
|
int cntHorizontally = _pictureWidth / _placeSizeWidth; //Колличество мест по горизонтали
|
||||||
Pen pen = new Pen(Color.FromArgb(185, 140, 0));
|
Pen pen = new(Color.FromArgb(185, 140, 0))
|
||||||
pen.Width = 3;
|
{
|
||||||
|
Width = 3
|
||||||
|
};
|
||||||
|
|
||||||
for (int i = 0; i < cntHorizontally; i++)
|
for (int i = 0; i < cntHorizontally; i++)
|
||||||
{
|
{
|
||||||
@ -78,7 +80,5 @@ public class Garage : AbstractCompany
|
|||||||
placeVertically--;
|
placeVertically--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//throw new NotImplementedException();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ public interface ICollectoinGenericObjects<T>
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="obj">Добавляемый объект</param>
|
/// <param name="obj">Добавляемый объект</param>
|
||||||
/// <returns>true - вставка прошла удачно, false - вставка не удалась</returns>
|
/// <returns>true - вставка прошла удачно, false - вставка не удалась</returns>
|
||||||
bool Insert(T obj);
|
int Insert(T obj);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Добавление объекта в коллекцию на конкретную позицию
|
/// Добавление объекта в коллекцию на конкретную позицию
|
||||||
@ -36,14 +36,14 @@ public interface ICollectoinGenericObjects<T>
|
|||||||
/// <param name="obj">Добавляемый объект</param>
|
/// <param name="obj">Добавляемый объект</param>
|
||||||
/// <param name="position">Позиция</param>
|
/// <param name="position">Позиция</param>
|
||||||
/// <returns>true - вставка прошла удачно, false - вставка не удалась</returns>
|
/// <returns>true - вставка прошла удачно, false - вставка не удалась</returns>
|
||||||
bool Insert(T obj, int position);
|
int Insert(T obj, int position);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Удаление объекта из коллекции на конкретной позиции
|
/// Удаление объекта из коллекции на конкретной позиции
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="position">Позиция</param>
|
/// <param name="position">Позиция</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
bool Remove(int position);
|
T? Remove(int position);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получение объекта по позиции
|
/// Получение объекта по позиции
|
||||||
|
@ -52,7 +52,7 @@ public class MassiveGenericObject<T> : ICollectoinGenericObjects<T>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Insert(T obj)
|
public int Insert(T obj)
|
||||||
{
|
{
|
||||||
//Вставка в свободное место набора
|
//Вставка в свободное место набора
|
||||||
for (int i = 0; i < Count; i++)
|
for (int i = 0; i < Count; i++)
|
||||||
@ -60,19 +60,19 @@ public class MassiveGenericObject<T> : ICollectoinGenericObjects<T>
|
|||||||
if (_collection[i] == null)
|
if (_collection[i] == null)
|
||||||
{
|
{
|
||||||
_collection[i] = obj;
|
_collection[i] = obj;
|
||||||
return true;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Insert(T obj, int position)
|
public int Insert(T obj, int position)
|
||||||
{
|
{
|
||||||
//Проверка позиции
|
//Проверка позиции
|
||||||
if ((position < 0) || (position >= Count))
|
if ((position < 0) || (position >= Count))
|
||||||
{
|
{
|
||||||
return false;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Проверка, что элемент массива по этой позиции пустой, если нет, то ищется свободное место после этой
|
//Проверка, что элемент массива по этой позиции пустой, если нет, то ищется свободное место после этой
|
||||||
@ -105,25 +105,26 @@ public class MassiveGenericObject<T> : ICollectoinGenericObjects<T>
|
|||||||
|
|
||||||
if (placed == false)
|
if (placed == false)
|
||||||
{
|
{
|
||||||
return false;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Вставка
|
//Вставка
|
||||||
_collection[position] = obj;
|
_collection[position] = obj;
|
||||||
return true;
|
return position;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Remove(int position)
|
public T? Remove(int position)
|
||||||
{
|
{
|
||||||
//Проверка позиции
|
//Проверка позиции
|
||||||
if ((position < 0) || (position >= Count) || (_collection[position] == null))
|
if ((position < 0) || (position >= Count) || (_collection[position] == null))
|
||||||
{
|
{
|
||||||
return false;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Удаление объекта из массива, присвоив элементу массива значение null
|
//Удаление объекта из массива, присвоив элементу массива значение null
|
||||||
|
T? elem = _collection[position];
|
||||||
_collection[position] = null;
|
_collection[position] = null;
|
||||||
return true;
|
return elem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -137,7 +137,7 @@
|
|||||||
comboBoxSelectorCompany.Name = "comboBoxSelectorCompany";
|
comboBoxSelectorCompany.Name = "comboBoxSelectorCompany";
|
||||||
comboBoxSelectorCompany.Size = new Size(332, 41);
|
comboBoxSelectorCompany.Size = new Size(332, 41);
|
||||||
comboBoxSelectorCompany.TabIndex = 1;
|
comboBoxSelectorCompany.TabIndex = 1;
|
||||||
comboBoxSelectorCompany.SelectedIndexChanged += comboBoxSelectorCompany_SelectedIndexChanged;
|
comboBoxSelectorCompany.SelectedIndexChanged += ComboBoxSelectorCompany_SelectedIndexChanged;
|
||||||
//
|
//
|
||||||
// pictureBox
|
// pictureBox
|
||||||
//
|
//
|
||||||
|
@ -36,7 +36,7 @@ public partial class FormBulldozerCollection : Form
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender"></param>
|
/// <param name="sender"></param>
|
||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
private void comboBoxSelectorCompany_SelectedIndexChanged(object sender, EventArgs e)
|
private void ComboBoxSelectorCompany_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
switch (comboBoxSelectorCompany.Text)
|
switch (comboBoxSelectorCompany.Text)
|
||||||
{
|
{
|
||||||
@ -46,15 +46,6 @@ public partial class FormBulldozerCollection : Form
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
/* private void ComboBoxSelectorCompany_SelectedIndexChanget(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
switch (comboBoxSelectorCompany.Text)
|
|
||||||
{
|
|
||||||
case "Хранилище":
|
|
||||||
_company = new CarSharingService(pictureBox.Width, pictureBox.Height, new MassiveGenericObject<DrawningDozer>());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Добавление обычного бульдозера
|
/// Добавление обычного бульдозера
|
||||||
@ -101,7 +92,7 @@ public partial class FormBulldozerCollection : Form
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_company + drawningDozer)
|
if (_company + drawningDozer != -1)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Объект добавлен.");
|
MessageBox.Show("Объект добавлен.");
|
||||||
pictureBox.Image = _company.Show();
|
pictureBox.Image = _company.Show();
|
||||||
@ -162,7 +153,7 @@ public partial class FormBulldozerCollection : Form
|
|||||||
}
|
}
|
||||||
|
|
||||||
int pos = Convert.ToInt32(maskedTextBox.Text);
|
int pos = Convert.ToInt32(maskedTextBox.Text);
|
||||||
if (_company - pos)
|
if (_company - pos != null)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Объект удалён.");
|
MessageBox.Show("Объект удалён.");
|
||||||
pictureBox.Image = _company.Show();
|
pictureBox.Image = _company.Show();
|
||||||
|
Loading…
Reference in New Issue
Block a user