Garifullin-Farid 85b4605bbb fixLabWork_6
# Conflicts:
#	ProjectTank/ProjectTank/CollectionGenericObjects/CollectionType.cs
#	ProjectTank/ProjectTank/CollectionGenericObjects/StorageCollection.cs
#	ProjectTank/ProjectTank/FormBattleTankCollection.cs
#	ProjectTank/ProjectTank/FormTankConfig.cs
2024-05-19 22:26:06 +04:00

65 lines
1.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace ProjectTank.Entities
{
public class EntityTank
{
/// <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 double Step => Speed * 100 / Weight;
public void SetBodyColor(Color color)
{
BodyColor = color;
}
/// <summary>
/// Конструктор сущности
/// </summary>
/// <param name="speed">Скорость</param>
/// <param name="weight">Веc</param>
/// <param name="bodyColor">Основной цвет</param>
public EntityTank(int speed, double weight, Color bodyColor)
{
Speed = speed;
Weight = weight;
BodyColor = bodyColor;
}
public virtual string[] GetStringRepresentation()
{
return new[] { nameof(EntityTank), Speed.ToString(), Weight.ToString(), BodyColor.Name };
}
/// <summary>
/// Создание объекта из массива строк
/// </summary>
/// <param name="strs"></param>
/// <returns></returns>
public static EntityTank? CreateEntityTank(string[] strs)
{
if (strs.Length != 4 || strs[0] != nameof(EntityTank))
{
return null;
}
return new EntityTank(Convert.ToInt32(strs[1]), Convert.ToDouble(strs[2]), Color.FromName(strs[3]));
}
}
}