ICEbd-11_Kotova_M_D_Simple LabWork1 #1

Closed
MariaKotova wants to merge 3 commits from Labwork1 into main
Showing only changes of commit 9e4beecdc6 - Show all commits

View File

@ -33,7 +33,7 @@ public class DrawingExcavator
/// <summary>
/// Ширина прорисовки экскаватора
/// </summary>
private readonly int _drawningExcavatorWidth = 175;
private readonly int _drawningExcavatorWidth = 174;
/// <summary>
/// Высота прорисовки экскаватора
@ -69,15 +69,26 @@ public class DrawingExcavator
/// <returns>true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах</returns>
public bool SetPictureSize(int width, int height)
{
if (_drawningExcavatorWidth < width && _drawningExcavatorHeight < height)
{
_pictureWidth = width;
_pictureHeight = height;
if (_startPosX.HasValue && _startPosY.HasValue)
{
if (_startPosX+_drawningExcavatorWidth>=_pictureWidth
|| _startPosY+_drawningExcavatorHeight>=_pictureHeight)
{
_startPosX = 0;
_startPosY = 0;
}
}
return true;
}
else { return false; }
}
}
return false;
}
/// <summary>
/// Установка позиции
@ -90,16 +101,21 @@ public class DrawingExcavator
{
return;
}
if (x > 0 && y > 0 && x + _drawningExcavatorWidth < _pictureWidth && _drawningExcavatorHeight + y < _pictureHeight)
if (x + _drawningExcavatorWidth < _pictureWidth && _drawningExcavatorHeight + y < _pictureHeight && x>0 && y>0)
Review

Если, например, по x есть выход за границу, а по y нет, то по x мы ниже откорректируем и запомним в _startPosX значение, а вот в _startPosY значение уже не запишется

Если, например, по x есть выход за границу, а по y нет, то по x мы ниже откорректируем и запомним в _startPosX значение, а вот в _startPosY значение уже не запишется
{
_startPosX = x;
_startPosY = y;
}
else
if (x + _drawningExcavatorWidth >_pictureWidth || x < 0)
{
_startPosX = 10;
_startPosY = 10;
_startPosX = 0;
}
if (y+_drawningExcavatorHeight > _pictureHeight || y < 0)
{
_startPosY = 0;
}
}
/// <summary>