ISEbd-11 Savelyev P.Y. LabWork01 Simple #1
@ -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>
|
||||
/// Изменение направления перемещения
|
||||
|
Loading…
x
Reference in New Issue
Block a user