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