61 lines
1.9 KiB
C#
61 lines
1.9 KiB
C#
namespace Battleship.Entities;
|
||
|
||
/// <summary>
|
||
/// Класс-сущность Линкор
|
||
/// </summary>
|
||
public class EntityBattleship : EntityWarship
|
||
{
|
||
/// <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 bool Compartment { get; private set; }
|
||
/// <summary>
|
||
/// Признак (опция) наличия башни
|
||
/// </summary>
|
||
public bool Tower { get; private set; }
|
||
/// <summary>
|
||
/// Признак (опция) наличия палубы
|
||
/// </summary>
|
||
public bool BodyDeck { get; private set; }
|
||
/// <summary>
|
||
/// Дополнительный цвет (для опциональных элементов)
|
||
/// </summary>
|
||
public Color AdditionalColor { get; private set; }
|
||
public void SetAdditionalColor(Color color)
|
||
{
|
||
AdditionalColor = color;
|
||
}
|
||
/// <summary>
|
||
/// Перемещение линкора
|
||
/// </summary>
|
||
public double Step => Speed * 100 / Weight;
|
||
|
||
/// <summary>
|
||
/// Инициализация полей объекта-класса линкора
|
||
/// </summary>
|
||
/// <param name="speed"></param>
|
||
/// <param name="weight"></param>
|
||
/// <param name="bodyColor"></param>
|
||
public EntityBattleship(int speed, double weight, Color bodyColor, bool compartment, bool tower, bool bodyDeck, Color additionalColor) : base(speed, weight, bodyColor)
|
||
{
|
||
Speed = speed;
|
||
Weight = weight;
|
||
BodyColor = bodyColor;
|
||
Compartment = compartment;
|
||
Tower = tower;
|
||
BodyDeck = bodyDeck;
|
||
AdditionalColor = additionalColor;
|
||
}
|
||
} |