Правки 2лаб
This commit is contained in:
parent
a52eb31b45
commit
083ffec901
@ -6,27 +6,16 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace Tank.MovementStrategy
|
||||
{
|
||||
/// <summary>
|
||||
/// Класс-стратегия перемещения объекта
|
||||
/// </summary>
|
||||
public abstract class AbstractStrategy
|
||||
{
|
||||
/// <summary>
|
||||
/// Перемещаемый объект
|
||||
/// </summary>
|
||||
private IMoveableObject? _moveableObject;
|
||||
/// <summary>
|
||||
/// Статус перемещения
|
||||
/// </summary>
|
||||
private Status _state = Status.NotInit;
|
||||
|
||||
/// <summary>
|
||||
/// Ширина поля
|
||||
/// </summary>
|
||||
protected int FieldWidth { get; private set; }
|
||||
/// <summary>
|
||||
/// Высота поля
|
||||
/// </summary>
|
||||
protected int FieldHeight { get; private set; }
|
||||
/// <summary>
|
||||
/// Статус перемещения
|
||||
|
@ -6,27 +6,12 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace Tank
|
||||
{
|
||||
/// <summary>
|
||||
/// Направление перемещения
|
||||
/// </summary>
|
||||
public enum Direction
|
||||
{
|
||||
/// <summary>
|
||||
/// Вверх
|
||||
///
|
||||
/// </summary>
|
||||
Up = 1,
|
||||
/// <summary>
|
||||
/// Вниз
|
||||
/// </summary>
|
||||
Down = 2,
|
||||
/// <summary>
|
||||
/// Влево
|
||||
/// </summary>
|
||||
Left = 3,
|
||||
/// <summary>
|
||||
/// Вправо
|
||||
/// </summary>
|
||||
Right = 4
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,7 @@ namespace Tank.DrawingObjects
|
||||
public int GetWidth => _ArmoredcarWidth;
|
||||
/// Высота объекта
|
||||
public int GetHeight => _ArmoredcarHeight;
|
||||
|
||||
/// Ширина окна
|
||||
private int _pictureWidth;
|
||||
/// Высота окна
|
||||
|
@ -7,8 +7,7 @@ using Tank.DrawingObjects;
|
||||
|
||||
namespace Tank.MovementStrategy
|
||||
{
|
||||
/// Реализация интерфейса IDrawningObject для работы с объектом DrawningCar
|
||||
/// (паттерн Adapter)
|
||||
/// Реализация интерфейса IDrawningObject для работы с объектом DrawningCar (паттерн Adapter)
|
||||
public class DrawningObjectArmoredCar : IMoveableObject
|
||||
{
|
||||
private readonly DrawingArmoredCar? _drawningArmoredCar = null;
|
||||
|
@ -162,9 +162,7 @@ namespace Tank.DrawingObjects
|
||||
//}
|
||||
///// <summary>
|
||||
|
||||
/// <summary>
|
||||
/// Прорисовка объекта
|
||||
/// </summary>
|
||||
/// <param name="g"></param>
|
||||
//public void DrawTransport(Graphics g)
|
||||
//{
|
||||
|
@ -28,5 +28,6 @@ namespace Tank.Entites
|
||||
BodyColor = bodyColor;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ namespace Tank.Entites
|
||||
public bool Trunk { get; private set; }
|
||||
// Признак (опция) наличия гоночной полосы
|
||||
public bool SportLine { get; private set; }
|
||||
// Шаг перемещения танка
|
||||
/// Шаг перемещения танка
|
||||
// public double Step => (double)Speed * 200 / Weight;
|
||||
/// Инициализация полей объекта-класса спортивного автомобиля
|
||||
/// <param name="speed">Скорость</param>
|
||||
|
@ -18,5 +18,6 @@ namespace Tank.MovementStrategy
|
||||
bool CheckCanMove(Direction direction);
|
||||
/// Изменение направления пермещения объекта
|
||||
void MoveObject(Direction direction);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ namespace Tank.MovementStrategy
|
||||
}
|
||||
return objParams.RightBorder + GetStep() >= FieldWidth && objParams.DownBorder + GetStep() >= FieldHeight;
|
||||
}
|
||||
|
||||
protected override void MoveToTarget()
|
||||
{
|
||||
var objParams = GetObjectParameters;
|
||||
|
@ -7,6 +7,7 @@ using System.Threading.Tasks;
|
||||
namespace Tank.MovementStrategy
|
||||
{
|
||||
/// Стратегия перемещения объекта в центр экрана
|
||||
|
||||
public class MoveToCenter : AbstractStrategy
|
||||
{
|
||||
protected override bool IsTargetDestinaion()
|
||||
|
Loading…
Reference in New Issue
Block a user