diff --git a/proekt_Bus_9/proekt_Bus_9/Direction Type.cs b/proekt_Bus_9/proekt_Bus_9/Direction Type.cs new file mode 100644 index 0000000..6800778 --- /dev/null +++ b/proekt_Bus_9/proekt_Bus_9/Direction Type.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace proekt_Bus_9; +/// +/// направление перемещения +/// + public enum Direction_Type + { + /// + ///вверх + /// + Up = 1, + /// + /// вниз + /// + Down = 2, + /// + /// влево + /// + Left = 3, + /// + /// вправо + /// + Right = 4, + + } + diff --git a/proekt_Bus_9/proekt_Bus_9/DrawningDoubleDeckerBus.cs b/proekt_Bus_9/proekt_Bus_9/DrawningDoubleDeckerBus.cs new file mode 100644 index 0000000..003a15f --- /dev/null +++ b/proekt_Bus_9/proekt_Bus_9/DrawningDoubleDeckerBus.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace proekt_Bus_9; +/// +/// +/// +public class DrawningDoubleDeckerBus +{ + /// + /// Класс-сущность + /// + public entity_DoubleDeckerBus? entity_DoubleDeckerBus { get; private set; } + /// + /// Ширина окна + /// + private int? _pictureWidth; + /// + /// Высота окна + /// + private int? _pictureHeight; + /// + /// Левая координата прорисовки автомобиля + /// + private int? _startPosX; + /// + /// Верхняя кооридната прорисовки автомобиля + /// + private int? _startPosY; + /// + /// Ширина прорисовки автомобиля + /// + private readonly int _DrawningDoubleDeckerBusWidth = 110; + /// + /// Высота прорисовки автомобиля + /// + private readonly int _DrawningDoubleDeckerBusHeight = 60; + /// + /// Инициализация свойств + /// + /// Скорость + /// Вес + /// Основной цвет + /// Дополнительный цвет + /// Признак наличия гоночной полосы + public void Init(int speed, double weight, Color bodyColor, Color + additionalColor, bool NumberLine) + { + entity_DoubleDeckerBus = new entity_DoubleDeckerBus(); + entity_DoubleDeckerBus.Init(speed, weight, bodyColor, additionalColor, NumberLine); + _pictureWidth = null; + _pictureHeight = null; + _startPosX = null; + _startPosY = null; + } + /// + /// Установка границ поля + /// + /// Ширина поля + /// Высота поля + /// true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах + public bool SetPictureSize(int width, int height) + { + // TODO проверка, что объект "влезает" в размеры поля + // если влезает, сохраняем границы и корректируем позицию объекта, если она была уже установлена + _pictureWidth = width; + _pictureHeight = height; + return true; + } + /// + /// Установка позиции + /// + /// Координата X + /// Координата Y + public void SetPosition(int x, int y) + { + if (!_pictureHeight.HasValue || !_pictureWidth.HasValue) + { + return; + } + } +} + diff --git a/proekt_Bus_9/proekt_Bus_9/entity DoubleDeckerBus.cs b/proekt_Bus_9/proekt_Bus_9/entity DoubleDeckerBus.cs new file mode 100644 index 0000000..cd2c9a7 --- /dev/null +++ b/proekt_Bus_9/proekt_Bus_9/entity DoubleDeckerBus.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.NetworkInformation; +using System.Text; +using System.Threading.Tasks; + +namespace proekt_Bus_9; + +public class entity_DoubleDeckerBus +{ + public int Speed { get; private set; } + /// + /// скорость + /// + + public double Weight { get; private set; } + /// + /// вес + /// + public Color BodyColor { get; private set; } + /// + /// основной цвет + /// + public Color AdditionalColor { get; private set; } + /// + /// дополнительный + /// + public bool Numberline { get; private set; } + /// + /// Линия с номером + /// + + + + + public double Step => Speed * 50 / Weight; + /// + /// + /// + /// + /// + /// + /// + /// + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool NumberLine) + { + Speed = speed; + Weight = weight; + BodyColor = bodyColor; + AdditionalColor = additionalColor; + Numberline = NumberLine; + + } + + + +}