diff --git a/AirBomber/AirBomber/DrawningAirPlane.cs b/AirBomber/AirBomber/DrawningAirPlane.cs index 3d6d33a..daeaea6 100644 --- a/AirBomber/AirBomber/DrawningAirPlane.cs +++ b/AirBomber/AirBomber/DrawningAirPlane.cs @@ -81,6 +81,14 @@ namespace AirBomber public void SetPosition(int x, int y) { // TODO: Изменение x, y, если при установке объект выходит за границы + if (x < 0 || x + _airPlaneWidth > _pictureWidth) + { + x = _pictureWidth - _airPlaneWidth; + } + if (y < 0 || y + _airPlaneHeight > _pictureHeight) + { + y = _pictureHeight - _airPlaneHeight; + } _startPosX = x; _startPosY = y; } @@ -217,9 +225,9 @@ namespace AirBomber //вверх 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, }; }