слияние

This commit is contained in:
Evgeny Egov 2024-01-06 20:26:18 +04:00
commit d6df3acb17
Failed to extract signature
13 changed files with 85 additions and 23 deletions

View File

@ -48,7 +48,7 @@ public abstract class AbstractCompany
_pictureWidth = picWidth;
_pictureHeight = picHeight;
_collection = collection;
_collection.SetMaxCount = GetMaxCount;
_collection.MaxCount = GetMaxCount;
}
/// <summary>

View File

@ -2,8 +2,17 @@
namespace ProjectSportCar.CollectionGenericObjects;
/// <summary>
/// Реализация абстрактной компании - каршеринг
/// </summary>
public class CarSharingService : AbstractCompany
{
/// <summary>
/// Конструктор
/// </summary>
/// <param name="picWidth"></param>
/// <param name="picHeight"></param>
/// <param name="collection"></param>
public CarSharingService(int picWidth, int picHeight, ICollectionGenericObjects<DrawningCar> collection) : base(picWidth, picHeight, collection)
{
}

View File

@ -1,4 +1,5 @@
namespace ProjectSportCar.CollectionGenericObjects;

namespace ProjectSportCar.CollectionGenericObjects;
/// <summary>
/// Параметризованный набор объектов
@ -19,7 +20,20 @@ public class ListGenericObjects<T> : ICollectionGenericObjects<T>
public int Count => _collection.Count;
public int SetMaxCount { set { if (value > 0) { _maxCount = value; } } }
public int MaxCount
{
get => _maxCount;
set
{
if (value > 0)
{
_maxCount = value;
}
}
}
public CollectionType GetCollectionType => throw new NotImplementedException();
/// <summary>
/// Конструктор
@ -59,4 +73,9 @@ public class ListGenericObjects<T> : ICollectionGenericObjects<T>
// TODO удаление объекта из списка
return true;
}
public IEnumerable<T?> GetItems()
{
throw new NotImplementedException();
}
}

View File

@ -74,6 +74,7 @@ public class MassiveGenericObjects<T> : ICollectionGenericObjects<T>
// TODO выборс ошибки, если выход за границы массива
// TODO выборс ошибки, если объект пустой
// TODO удаление объекта из массива, присовив элементу массива значение null
// TODO удаление объекта из массива, присвоив элементу массива значение null
return true;
}

View File

@ -84,6 +84,15 @@ public class DrawningCar
EntityCar = new EntityCar(speed, weight, bodyColor);
}
/// <summary>
/// Конструктор
/// </summary>
/// <param name="car">Класс-сущность</param>
public DrawningCar(EntityCar car) : this()
{
// TODO продумать логику
}
/// <summary>
/// Конструктор для наследников
/// </summary>

View File

@ -22,6 +22,15 @@ public class DrawningSportCar : DrawningCar
EntityCar = new EntitySportCar(speed, weight, bodyColor, additionalColor, bodyKit, wing, sportLine);
}
/// <summary>
/// Конструктор
/// </summary>
/// <param name="car">Класс-сущность</param>
public DrawningSportCar(EntityCar car) : base(110, 60)
{
// TODO продумать логику
}
public override void DrawTransport(Graphics g)
{
if (EntityCar == null || EntityCar is not EntitySportCar sportCar || !_startPosX.HasValue || !_startPosY.HasValue)

View File

@ -38,6 +38,8 @@ public class EntityCar
BodyColor = bodyColor;
}
//TODO Прописать метод
/// <summary>
/// Получение строк со значениями свойств объекта класса-сущности
/// </summary>

View File

@ -26,7 +26,7 @@ public class EntitySportCar : EntityCar
public bool SportLine { get; private set; }
/// <summary>
/// Инициализация полей объекта-класса спортивного автомобиля
/// Конструктор сущности
/// </summary>
/// <param name="speed">Скорость</param>
/// <param name="weight">Вес автомобиля</param>
@ -35,11 +35,24 @@ public class EntitySportCar : EntityCar
/// <param name="bodyKit">Признак наличия обвеса</param>
/// <param name="wing">Признак наличия антикрыла</param>
/// <param name="sportLine">Признак наличия гоночной полосы</param>
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool bodyKit, bool wing, bool sportLine)
public EntitySportCar(int speed, double weight, Color bodyColor, Color additionalColor, bool bodyKit, bool wing, bool sportLine) : base(0, 0, Color.Black)
{
AdditionalColor = additionalColor;
BodyKit = bodyKit;
Wing = wing;
SportLine = sportLine;
}
//TODO Прописать метод
/// <summary>
/// Создание объекта из массива строк
/// </summary>
/// <param name="strs"></param>
/// <returns></returns>
public static EntitySportCar? CreateEntitySportCar(string[] strs)
{
// TODO продумать логику
return null;
}
}

View File

@ -68,7 +68,7 @@
groupBoxTools.Dock = DockStyle.Right;
groupBoxTools.Location = new Point(783, 24);
groupBoxTools.Name = "groupBoxTools";
groupBoxTools.Size = new Size(179, 592);
groupBoxTools.Size = new Size(179, 608);
groupBoxTools.TabIndex = 0;
groupBoxTools.TabStop = false;
groupBoxTools.Text = "Инструменты";
@ -82,7 +82,7 @@
panelCompanyTools.Controls.Add(buttonGoToCheck);
panelCompanyTools.Dock = DockStyle.Bottom;
panelCompanyTools.Enabled = false;
panelCompanyTools.Location = new Point(3, 336);
panelCompanyTools.Location = new Point(3, 352);
panelCompanyTools.Name = "panelCompanyTools";
panelCompanyTools.Size = new Size(173, 253);
panelCompanyTools.TabIndex = 9;
@ -249,7 +249,7 @@
pictureBox.Dock = DockStyle.Fill;
pictureBox.Location = new Point(0, 24);
pictureBox.Name = "pictureBox";
pictureBox.Size = new Size(783, 592);
pictureBox.Size = new Size(783, 608);
pictureBox.TabIndex = 1;
pictureBox.TabStop = false;
//
@ -297,7 +297,7 @@
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(962, 616);
ClientSize = new Size(962, 632);
Controls.Add(pictureBox);
Controls.Add(groupBoxTools);
Controls.Add(menuStrip);

View File

@ -60,7 +60,7 @@ public partial class FormCarCollection : Form
/// Добавление автомобиля в коллекцию
/// </summary>
/// <param name="car"></param>
private void SetCar(DrawningCar car)
private void SetCar(DrawningCar? car)
{
if (_company == null || car == null)
{

View File

@ -33,7 +33,7 @@
panelPurple = new Panel();
panelYellow = new Panel();
panelBlack = new Panel();
panelGrey = new Panel();
panelGray = new Panel();
panelBlue = new Panel();
panelWhite = new Panel();
panelGreen = new Panel();
@ -86,7 +86,7 @@
groupBoxColors.Controls.Add(panelPurple);
groupBoxColors.Controls.Add(panelYellow);
groupBoxColors.Controls.Add(panelBlack);
groupBoxColors.Controls.Add(panelGrey);
groupBoxColors.Controls.Add(panelGray);
groupBoxColors.Controls.Add(panelBlue);
groupBoxColors.Controls.Add(panelWhite);
groupBoxColors.Controls.Add(panelGreen);
@ -122,13 +122,13 @@
panelBlack.Size = new Size(34, 34);
panelBlack.TabIndex = 4;
//
// panelGrey
// panelGray
//
panelGrey.BackColor = Color.Gray;
panelGrey.Location = new Point(67, 66);
panelGrey.Name = "panelGrey";
panelGrey.Size = new Size(34, 34);
panelGrey.TabIndex = 5;
panelGray.BackColor = Color.Gray;
panelGray.Location = new Point(67, 66);
panelGray.Name = "panelGray";
panelGray.Size = new Size(34, 34);
panelGray.TabIndex = 5;
//
// panelBlue
//
@ -349,7 +349,7 @@
private Panel panelPurple;
private Panel panelYellow;
private Panel panelBlack;
private Panel panelGrey;
private Panel panelGray;
private Panel panelBlue;
private Panel panelWhite;
private Panel panelGreen;

View File

@ -27,7 +27,7 @@ public partial class FormCarConfig : Form
panelBlue.MouseDown += Panel_MouseDown;
panelYellow.MouseDown += Panel_MouseDown;
panelWhite.MouseDown += Panel_MouseDown;
panelGrey.MouseDown += Panel_MouseDown;
panelGray.MouseDown += Panel_MouseDown;
panelBlack.MouseDown += Panel_MouseDown;
panelPurple.MouseDown += Panel_MouseDown;
@ -52,7 +52,7 @@ public partial class FormCarConfig : Form
Bitmap bmp = new(pictureBoxObject.Width, pictureBoxObject.Height);
Graphics gr = Graphics.FromImage(bmp);
_car?.SetPictureSize(pictureBoxObject.Width, pictureBoxObject.Height);
_car?.SetPosition(5, 5);
_car?.SetPosition(15, 15);
_car?.DrawTransport(gr);
pictureBoxObject.Image = bmp;
}

View File

@ -59,7 +59,7 @@ public partial class FormSportCar : Form
}
/// <summary>
/// Перемешение объекта по форме (нажатие кнопок навигации)
/// Перемещение объекта по форме (нажатие кнопок навигации)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>