39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
namespace WarmlyLocomotove
|
||
{
|
||
/// <summary>
|
||
/// Класс-сущность локомотив
|
||
/// </summary>
|
||
internal class EntityLocomotive
|
||
{
|
||
/// <summary>
|
||
/// Скорость
|
||
/// </summary>
|
||
public int Speed { get; private set; }
|
||
/// <summary>
|
||
/// Вес
|
||
/// </summary>
|
||
public float Weight { get; private set; }
|
||
/// <summary>
|
||
/// Цвет кузова
|
||
/// </summary>
|
||
public Color BodyColor { get; private set; }
|
||
/// <summary>
|
||
/// Шаг перемещения
|
||
/// </summary>
|
||
public float Step => Speed * 100 / Weight;
|
||
/// <summary>
|
||
/// Конструктор (инициализация полей объекта-класса локомотива)
|
||
/// </summary>
|
||
/// <param name="speed">скорость</param>
|
||
/// <param name="weight">вес</param>
|
||
/// <param name="bodyColor">цвет кузова</param>
|
||
public EntityLocomotive(int speed, float weight, Color bodyColor)
|
||
{
|
||
Random rnd = new();
|
||
Speed = speed <= 0 ? rnd.Next(50, 150) : speed;
|
||
Weight = weight <= 0 ? rnd.Next(40, 70) : weight;
|
||
BodyColor = bodyColor;
|
||
}
|
||
}
|
||
}
|