ISEbd-11 Savelyev P.Y. LabWork01 Simple #1

Closed
aaahsap wants to merge 2 commits from LabWork01 into main
Showing only changes of commit 199cb96e52 - Show all commits

View File

@ -13,6 +13,7 @@ public class DrawningYborshik
{
/// <summary>
/// Класс-сущность
///
/// </summary>
public EntityYborshik? EntityYborshik { get; private set; }
@ -76,10 +77,15 @@ public class DrawningYborshik
{
// TODO проверка, что объект "влезает" в размеры поля
// если влезает, сохраняем границы и корректируем позицию объекта, если она была уже установлена
if (_drawningCarWidth < width || _drawningCarHeight < height)
if (_drawningCarWidth <= width || _drawningCarHeight <= height)
{
_pictureWidth = width;
_pictureHeight = height;
if (_startPosX != null && _startPosY != null)
if (_startPosX + _drawningCarWidth > _pictureWidth)
_startPosX = _pictureWidth - _drawningCarWidth;
if (_startPosY + _drawningCarHeight > _pictureHeight)
_startPosY = _pictureHeight - _drawningCarHeight;
return true;
}
else
@ -99,17 +105,19 @@ public class DrawningYborshik
}
// TODO если при установке объекта в эти координаты, он будет "выходить" за границы формы
// то надо изменить координаты, чтобы он оставался в этих границах
if (x > 0 && y > 0 && _drawningCarWidth < _pictureWidth && _drawningCarHeight < _pictureHeight)
{
_startPosX = x;
_startPosY = y;
}
else {
Random rnd = new Random();
_startPosX = rnd.Next(0, _pictureWidth.Value - _drawningCarWidth);
_startPosY = rnd.Next(0, _pictureHeight.Value - _drawningCarHeight);
if (x < 0)
x = 0;
else if (x + _drawningCarWidth > _pictureWidth)
x = _pictureWidth.Value - _drawningCarWidth;
if (y < 0)
x = 0;
else if (y + _drawningCarHeight > _pictureHeight)
y = _pictureHeight.Value - _drawningCarHeight;
_startPosX = x;
_startPosY = y;
}
}
/// <summary>
/// Изменение направления перемещения