Исправление логики движения

This commit is contained in:
malimova 2023-10-07 09:27:50 +04:00
parent 8cd9bd77c1
commit c11d4126a5

View File

@ -81,6 +81,14 @@ namespace AirBomber
public void SetPosition(int x, int y) public void SetPosition(int x, int y)
{ {
// TODO: Изменение x, y, если при установке объект выходит за границы // TODO: Изменение x, y, если при установке объект выходит за границы
if (x < 0 || x + _airPlaneWidth > _pictureWidth)
{
x = _pictureWidth - _airPlaneWidth;
}
if (y < 0 || y + _airPlaneHeight > _pictureHeight)
{
y = _pictureHeight - _airPlaneHeight;
}
_startPosX = x; _startPosX = x;
_startPosY = y; _startPosY = y;
} }
@ -217,9 +225,9 @@ namespace AirBomber
//вверх //вверх
DirectionType.Up => _startPosY - EntityAirPlane.Step > 0, DirectionType.Up => _startPosY - EntityAirPlane.Step > 0,
// вправо // вправо
DirectionType.Right => _startPosX + EntityAirPlane.Step < _pictureWidth, DirectionType.Right => _startPosX + EntityAirPlane.Step + _airPlaneWidth < _pictureWidth,
//вниз //вниз
DirectionType.Down => _startPosY + EntityAirPlane.Step < _pictureHeight, DirectionType.Down => _startPosY + EntityAirPlane.Step + _airPlaneHeight< _pictureHeight,
_ => false, _ => false,
}; };
} }