Compare commits

..

No commits in common. "131e58dc885b059c8917c50bec7b2000905b935e" and "f184b9cdc6cefc05f634c27e9d10a5759c4b0b94" have entirely different histories.

8 changed files with 29 additions and 27 deletions

View File

@ -53,9 +53,9 @@ public abstract class AbstractCompany
/// <param name="company">Компания</param> /// <param name="company">Компания</param>
/// <param name="car">Добавляемый объект</param> /// <param name="car">Добавляемый объект</param>
/// <returns></returns> /// <returns></returns>
public static int operator +(AbstractCompany company, DrawningTrack car) public static bool operator +(AbstractCompany company, DrawningTrack car)
{ {
return company._collection.Insert(car); return company._collection?.Insert(car) ?? false;
} }
/// <summary> /// <summary>
@ -64,9 +64,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 DrawningTrack operator -(AbstractCompany company, int position) public static bool operator -(AbstractCompany company, int position)
{ {
return company._collection.Remove(position); return company._collection?.Remove(position) ?? false;
} }
/// <summary> /// <summary>

View File

@ -27,8 +27,8 @@ public class CarSharingService : AbstractCompany
{ {
for (int j = 0; j < height + 1; ++j) for (int j = 0; j < height + 1; ++j)
{ {
g.DrawLine(pen, i * _placeSizeWidth+5, j * _placeSizeHeight, i * _placeSizeWidth+5 + _placeSizeWidth-45, j * _placeSizeHeight); g.DrawLine(pen, i * _placeSizeWidth+15, j * _placeSizeHeight, i * _placeSizeWidth+15 + _placeSizeWidth-55, j * _placeSizeHeight);
g.DrawLine(pen, i * _placeSizeWidth+5, j * _placeSizeHeight, i * _placeSizeWidth+5, j * _placeSizeHeight -_placeSizeHeight); g.DrawLine(pen, i * _placeSizeWidth+15, j * _placeSizeHeight, i * _placeSizeWidth+15, j * _placeSizeHeight -_placeSizeHeight);
} }
} }
} }
@ -46,7 +46,7 @@ public class CarSharingService : AbstractCompany
if (_collection.Get(i) != null) if (_collection.Get(i) != null)
{ {
_collection.Get(i).SetPictureSize(_pictureWidth, _pictureHeight); _collection.Get(i).SetPictureSize(_pictureWidth, _pictureHeight);
_collection.Get(i).SetPosition(_placeSizeWidth * curWidth + 20, curHeight * _placeSizeHeight + 20); _collection.Get(i).SetPosition(_placeSizeWidth * curWidth + 20, curHeight * _placeSizeHeight + 4);
} }
if (curWidth < width-1) if (curWidth < width-1)

View File

@ -24,7 +24,7 @@ public interface ICollectionGenericObjects<T>
/// </summary> /// </summary>
/// <param name="obj">Добавляемый объект</param> /// <param name="obj">Добавляемый объект</param>
/// <returns>true - вставка прошла удачно, false - вставка не удалась</returns> /// <returns>true - вставка прошла удачно, false - вставка не удалась</returns>
int Insert(T obj); bool Insert(T obj);
/// <summary> /// <summary>
/// Добавление объекта в коллекцию на конкретную позицию /// Добавление объекта в коллекцию на конкретную позицию
@ -32,14 +32,14 @@ public interface ICollectionGenericObjects<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>
int Insert(T obj, int position); bool Insert(T obj, int position);
/// <summary> /// <summary>
/// Удаление объекта из коллекции с конкретной позиции /// Удаление объекта из коллекции с конкретной позиции
/// </summary> /// </summary>
/// <param name="position">Позиция</param> /// <param name="position">Позиция</param>
/// <returns>true - удаление прошло удачно, false - удаление не удалось</returns> /// <returns>true - удаление прошло удачно, false - удаление не удалось</returns>
T? Remove(int position); bool Remove(int position);
/// <summary> /// <summary>
/// Получение объекта по позиции /// Получение объекта по позиции

View File

@ -44,7 +44,7 @@ internal class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
return _collection[position]; return _collection[position];
} }
public int Insert(T obj) public bool Insert(T obj)
{ {
// TODO вставка в свободное место набора // TODO вставка в свободное место набора
int index = 0; int index = 0;
@ -53,25 +53,25 @@ internal class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
if (_collection[index] == null) if (_collection[index] == null)
{ {
_collection[index] = obj; _collection[index] = obj;
return index; return true;
} }
index++; index++;
} }
return -1; return false;
} }
public int Insert(T obj, int position) public bool Insert(T obj, int position)
{ {
// TODO проверка позиции // TODO проверка позиции
// TODO проверка, что элемент массива по этой позиции пустой, если нет, то // TODO проверка, что элемент массива по этой позиции пустой, если нет, то
// ищется свободное место после этой позиции и идет вставка туда // ищется свободное место после этой позиции и идет вставка туда
// если нет после, ищем до // если нет после, ищем до
// TODO вставка // TODO вставка
if (position >= _collection.Length || position < 0) return -1; if (position >= _collection.Length || position < 0) return false;
if (_collection[position] == null) if (_collection[position] == null)
{ {
_collection[position] = obj; _collection[position] = obj;
return position; return true;
} }
int index = position + 1; int index = position + 1;
while (index < _collection.Length) while (index < _collection.Length)
@ -79,7 +79,7 @@ internal class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
if (_collection[index] == null) if (_collection[index] == null)
{ {
_collection[index] = obj; _collection[index] = obj;
return index; return true;
} }
index++; index++;
} }
@ -89,21 +89,20 @@ internal class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
if (_collection[index] == null) if (_collection[index] == null)
{ {
_collection[index] = obj; _collection[index] = obj;
return index; return true;
} }
index--; index--;
} }
return -1; return false;
} }
public T? Remove(int position) public bool Remove(int position)
{ {
// TODO проверка позиции // TODO проверка позиции
// TODO удаление объекта из массива, присвоив элементу массива значение null // TODO удаление объекта из массива, присвоив элементу массива значение null
if (position >= _collection.Length || position < 0) return null; if (position >= _collection.Length || position < 0) return false;
T removeObj = _collection[position];
_collection[position] = null; _collection[position] = null;
return removeObj; return true;
} }
} }

View File

@ -54,6 +54,9 @@ public class DrawningDumpTrack : DrawningTrack
g.FillRectangle(additionalBrush, _startPosX.Value + 70, _startPosY.Value, 3, 40); g.FillRectangle(additionalBrush, _startPosX.Value + 70, _startPosY.Value, 3, 40);
} }
base.DrawTransport(g);
} }
} }

View File

@ -38,7 +38,7 @@ public class EntityDumpTrack : EntityTrack
/// <param name="bodywork">Признак наличия кузова</param> /// <param name="bodywork">Признак наличия кузова</param>
/// <param name="awning">Признак наличия тента</param> /// <param name="awning">Признак наличия тента</param>
public EntityDumpTrack(int speed, double weight, Color bodyColor, Color additionalColor, Color additional2Color, bool bodywork, bool awning) : base(5, 45, bodyColor) public EntityDumpTrack(int speed, double weight, Color bodyColor, Color additionalColor, Color additional2Color, bool bodywork, bool awning) : base(5, 45, Color.Black)
{ {
AdditionalColor = additionalColor; AdditionalColor = additionalColor;
Additional2Color = additional2Color; Additional2Color = additional2Color;

View File

@ -148,7 +148,7 @@
// //
AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(961, 100); ClientSize = new Size(961, 493);
Controls.Add(pictureBox); Controls.Add(pictureBox);
Controls.Add(groupBoxTools); Controls.Add(groupBoxTools);
Name = "FormTrackCollection"; Name = "FormTrackCollection";

View File

@ -77,7 +77,7 @@ public partial class FormTrackCollection : Form
return; return;
} }
if (_company + drawningTrack != -1) if (_company + drawningTrack)
{ {
MessageBox.Show("Объект добавлен"); MessageBox.Show("Объект добавлен");
pictureBox.Image = _company.Show(); pictureBox.Image = _company.Show();
@ -125,7 +125,7 @@ public partial class FormTrackCollection : Form
} }
int pos = Convert.ToInt32(maskedTextBox.Text); int pos = Convert.ToInt32(maskedTextBox.Text);
if (_company - pos != null) if (_company - pos)
{ {
MessageBox.Show("Объект удален"); MessageBox.Show("Объект удален");
pictureBox.Image = _company.Show(); pictureBox.Image = _company.Show();