1 Commits
Lab08 ... Lab01

Author SHA1 Message Date
de8bd02d0f Лаболаторная работа №1 2024-02-14 18:41:03 +04:00

View File

@@ -77,8 +77,10 @@ public class DrawningMilitaryAircraft
/// <returns>true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах</returns> /// <returns>true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах</returns>
public bool SetpictureSize(int width, int height) public bool SetpictureSize(int width, int height)
{ {
// TODO провека, что объект "влезает" в размеры поля if (width <= _drawningMilitaryAircraftWidth || height <= _drawingMilitaryAircraftHeight)
// если влезает, сохраняем границы и корректируем позицию объекта, если она была установлена {
return false;
}
_pictureWidth = width; _pictureWidth = width;
_pictureHeight = height; _pictureHeight = height;
return true; return true;
@@ -91,14 +93,24 @@ public class DrawningMilitaryAircraft
/// <param name="y">Координата Y</param> /// <param name="y">Координата Y</param>
public void SetPosition (int x, int y) public void SetPosition (int x, int y)
{ {
int endx = x + _drawningMilitaryAircraftWidth;
int endy = y + _drawingMilitaryAircraftHeight;
if (!_pictureHeight.HasValue || !_pictureWidth.HasValue) if (!_pictureHeight.HasValue || !_pictureWidth.HasValue)
{ {
return; return;
} }
//TODO если при установке объекта в эти координаты, он будет "выходить" за границы формы if (endx > _pictureWidth || x < 0 || endy > _pictureHeight || y < 0)
// то надо изменить координаты, чтобы он оставался в этих границах {
_startPosX = x; x = 0;
_startPosY = y; y = 0;
}
else
{
_startPosX = x;
_startPosY = y;
}
} }
public bool MoveTransport(DirectionType direction) public bool MoveTransport(DirectionType direction)
{ {