Создание папки Entities

This commit is contained in:
Павел Ладягин 2024-03-23 15:11:25 +04:00
parent 9f13fc6a95
commit a0f64e592f
4 changed files with 68 additions and 41 deletions

View File

@ -1,4 +1,4 @@
namespace ProjectAirplaneWithRadar namespace ProjectAirplaneWithRadar.Entities
{ {
/// <summary> /// <summary>
/// Класс, отвечающий за прорисовку и перемещение объекта-сущности /// Класс, отвечающий за прорисовку и перемещение объекта-сущности
@ -39,7 +39,7 @@
/// Высота прорисовки самолета /// Высота прорисовки самолета
/// </summary> /// </summary>
public readonly int PlaneHeight = 95; public readonly int PlaneHeight = 95;
/// <summary> /// <summary>
/// Инициализация свойств /// Инициализация свойств
@ -72,18 +72,18 @@
{ {
_pictureWidth = width; _pictureWidth = width;
_pictureHeight = height; _pictureHeight = height;
if(_startPosX != null && _startPosY != null) if (_startPosX != null && _startPosY != null)
{ {
if(_startPosX.Value < 0) if (_startPosX.Value < 0)
{ {
_startPosX = 0; _startPosX = 0;
} }
if(_startPosY.Value < 0) if (_startPosY.Value < 0)
{ {
_startPosY = 0; _startPosY = 0;
} }
if(_startPosX.Value + PlaneWidth > _pictureWidth) if (_startPosX.Value + PlaneWidth > _pictureWidth)
{ {
_startPosX = _pictureWidth - PlaneWidth; _startPosX = _pictureWidth - PlaneWidth;
} }
@ -116,7 +116,7 @@
{ {
_startPosX = 0; _startPosX = 0;
} }
if(_startPosY.Value < 0) if (_startPosY.Value < 0)
{ {
_startPosY = 0; _startPosY = 0;
} }
@ -162,7 +162,7 @@
break; break;
// вправо // вправо
case DirectionType.Right: case DirectionType.Right:
if (_startPosX.Value + step < _pictureWidth - PlaneWidth) if (_startPosX.Value + step < _pictureWidth - PlaneWidth)
{ {
_startPosX += step; _startPosX += step;
} }
@ -227,8 +227,8 @@
} }
//Корпус //Корпус
g.DrawRectangle(pen, _startPosX.Value + 10, _startPosY.Value + 50,100,30); g.DrawRectangle(pen, _startPosX.Value + 10, _startPosY.Value + 50, 100, 30);
//Хвост //Хвост
Point[] points = { Point[] points = {
new Point(_startPosX.Value + 10, _startPosY.Value + 10), new Point(_startPosX.Value + 10, _startPosY.Value + 10),
@ -259,7 +259,7 @@
//Хвостовой элерон //Хвостовой элерон
g.DrawEllipse(pen, _startPosX.Value, _startPosY.Value + 45, 30, 10); g.DrawEllipse(pen, _startPosX.Value, _startPosY.Value + 45, 30, 10);
g.FillEllipse(brBlack, _startPosX.Value, _startPosY.Value + 45, 30, 10); g.FillEllipse(brBlack, _startPosX.Value, _startPosY.Value + 45, 30, 10);
} }
} }
} }

View File

@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace ProjectAirplaneWithRadar.Entities
{
/// <summary>
/// Класс-сущность "Самолет"
/// </summary>
public class EntityAirplane
{
/// <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;
/// <summary>
/// Конструктор сущности
/// </summary>
/// <param name="speed">Скорость</param>
/// <param name="weight">Вес</param>
/// <param name="bodyColor">Основной цвет</param>
public EntityAirplane(int speed, double weight, Color bodyColor)
{
Speed = speed;
Weight = weight;
BodyColor = bodyColor;
}
}
}

View File

@ -1,25 +1,10 @@
namespace ProjectAirplaneWithRadar namespace ProjectAirplaneWithRadar.Entities
{ {
/// <summary> /// <summary>
/// Класс-сущность "Самолет с радаром" /// Класс-сущность "Самолет с радаром"
/// </summary> /// </summary>
public class EntityAirplaneWithRadar public class EntityAirplaneWithRadar : EntityAirplane
{ {
/// <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>
/// Дополнительный цвет (для опциональных элементов) /// Дополнительный цвет (для опциональных элементов)
/// </summary> /// </summary>
@ -33,12 +18,7 @@
/// <summary> /// <summary>
/// Признак (опция) наличия радар /// Признак (опция) наличия радар
/// </summary> /// </summary>
public bool Radar { get; private set; } public bool Radar { get; private set; }
/// <summary>
/// Шаг перемещения автомобиля
/// </summary>
public double Step => Speed * 100 / Weight;
/// <summary> /// <summary>
/// Инициализация полей объекта-класса самолета с радаром /// Инициализация полей объекта-класса самолета с радаром
@ -49,14 +29,11 @@
/// <param name="additionalColor">Дополнительный цвет</param> /// <param name="additionalColor">Дополнительный цвет</param>
/// <param name="wheels">Шасси</param> /// <param name="wheels">Шасси</param>
/// <param name="radar">Радар</param> /// <param name="radar">Радар</param>
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool wheels, bool radar) public EntityAirplaneWithRadar(int speed, double weight, Color bodyColor, Color additionalColor, bool wheels, bool radar) : base(speed, weight, bodyColor)
{ {
Speed = speed;
Weight = weight;
BodyColor = bodyColor;
AdditionalColor = additionalColor; AdditionalColor = additionalColor;
Wheels = wheels; Wheels = wheels;
Radar = radar; Radar = radar;
} }
} }
} }

View File

@ -1,4 +1,6 @@
namespace ProjectAirplaneWithRadar using ProjectAirplaneWithRadar.Entities;
namespace ProjectAirplaneWithRadar
{ {
/// <summary> /// <summary>
/// Форма работы с объектом "Самолет с радаром" /// Форма работы с объектом "Самолет с радаром"