72 lines
2.6 KiB
C#
Raw Normal View History

namespace ProjectCar;
/// <summary>
/// Класс-сущность "бензовоз"
/// </summary>
public class EntityMachine
{
/// <summary>
/// Скорость
/// </summary>
public int Speed { get; private set; }
/// <summary>
/// Вес
/// </summary>
public double Weight { get; private set; }
/// <summary>
/// Основной цвет
/// </summary>
public Color BodyColor { get; private set; }
/// <summary>
/// Дополнительный цвет
/// </summary>
public Color AdditionalColor { get; private set; }
/// <summary>
/// Признак (опция) наличия бака для бензина
/// </summary>
public bool Gas { get; private set; }
/// <summary>
/// Признак (опция) наличия колес(2)
/// </summary>
public bool Wheels1 { get; private set; }
/// <summary>
/// Признак (опция) наличия колес(3)
/// </summary>
public bool Wheels2 { get; private set; }
/// <summary>
/// Признак (опция) наличия колес(4)
/// </summary>
public bool Wheels3 { get; private set; }
/// <summary>
/// Признак (опция) наличия маяка
/// </summary>
public bool Beacon { get; private set; }
/// <summary>
/// Шаг перемещения машины
/// </summary>
public double Step => Speed * 100 / Weight;
/// <summary>
/// Инициализация полей объекта-класса бензовоза
/// </summary>
/// <param name="speed">Скорость</param>
/// <param name="weight">Вес машины</param>
/// <param name="bodyColor">Основной цвет</param>
/// <param name="additionalColor">Дополнительный цвет</param>
/// <param name="gas">Признак наличия бака для бензина</param>
/// <param name="wheels1">Признак наличия колес(2)</param>
/// <param name="wheels2">Признак наличия колес(3)</param>
/// <param name="wheels3">Признак наличия колес(4)</param>
/// <param name="beacon">Признак наличия маяка</param>
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool gas, bool wheels1, bool wheels2, bool wheels3, bool beacon)
{
Speed = speed;
Weight = weight;
BodyColor = bodyColor;
AdditionalColor = additionalColor;
Gas = gas;
Wheels1 = wheels1;
Wheels2 = wheels2;
Wheels3 = wheels3;
Beacon = beacon;
}
}