accepted lab
This commit is contained in:
parent
dfffe57fe3
commit
11988efcd0
@ -63,10 +63,6 @@ public class DrawningAirFighter
|
||||
EntityAirFighter = new EntityAirFighter();
|
||||
EntityAirFighter.Init(speed, weight, bodyColor, additionalColor,
|
||||
bodyRockets, additionalWings);
|
||||
//_pictureWidth = null;
|
||||
//_pictureHeight = null;
|
||||
//_startPosX = null;
|
||||
//_startPosY = null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -75,43 +71,51 @@ public class DrawningAirFighter
|
||||
/// <param name="width">Ширина поля</param>
|
||||
/// <param name="height">Высота поля</param>
|
||||
/// <returns>true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах</returns>
|
||||
public void SetPictureSize(int width, int height)
|
||||
public Boolean SetPictureSize(int width, int height)
|
||||
{
|
||||
if (width <= _drawningAirFighterWidth || height <= _drawningAirFighterHeight) return false;
|
||||
_pictureWidth = width;
|
||||
_pictureHeight = height;
|
||||
if (_pictureWidth <= _drawningAirFighterWidth || _pictureHeight <= _drawningAirFighterHeight)
|
||||
if (_startPosX.HasValue && _startPosY.HasValue)
|
||||
{
|
||||
_pictureWidth = null;
|
||||
_pictureHeight = null;
|
||||
return;
|
||||
if (_startPosX + _drawningAirFighterWidth > _pictureWidth)
|
||||
{
|
||||
_startPosX = _pictureWidth.Value - _drawningAirFighterWidth;
|
||||
}
|
||||
if (_startPosY + _drawningAirFighterHeight > _pictureHeight)
|
||||
{
|
||||
_startPosY = _pictureHeight.Value - _drawningAirFighterHeight;
|
||||
}
|
||||
}
|
||||
if (_startPosX + _drawningAirFighterWidth > _pictureWidth)
|
||||
{
|
||||
_startPosX = _pictureWidth.Value - _drawningAirFighterWidth;
|
||||
}
|
||||
if (_startPosY + _drawningAirFighterHeight > _pictureHeight)
|
||||
{
|
||||
_startPosY = _pictureHeight.Value - _drawningAirFighterHeight;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
/// <summary>
|
||||
/// Установка позиции
|
||||
/// </summary>
|
||||
/// <param name="x">Координата X</param>
|
||||
/// <param name="y">Координата Y</param>
|
||||
public void SetPosition(int x, int y, int width, int height)
|
||||
public void SetPosition(int x, int y)
|
||||
{
|
||||
//if (!_pictureHeight.HasValue || !_pictureWidth.HasValue) return;
|
||||
if (width < _drawningAirFighterWidth || height < _drawningAirFighterHeight) return;
|
||||
if (x + _drawningAirFighterWidth > width || x < 0) return;
|
||||
if (y + _drawningAirFighterHeight > height || y < 0) return;
|
||||
if (!_pictureHeight.HasValue || !_pictureWidth.HasValue)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_startPosX = x;
|
||||
_startPosY = y;
|
||||
|
||||
_pictureWidth = width;
|
||||
_pictureHeight = height;
|
||||
if (_drawningAirFighterHeight + y > _pictureHeight || y < 0)
|
||||
{
|
||||
_startPosY = 0;
|
||||
}
|
||||
if (_drawningAirFighterWidth + x > _pictureWidth || x < 0)
|
||||
{
|
||||
_startPosX = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Изменение направления перемещения
|
||||
/// </summary>
|
||||
|
@ -33,19 +33,18 @@ public class EntityAirFighter
|
||||
/// </summary>
|
||||
public bool AdditionalWings { get; private set; }
|
||||
/// <summary>
|
||||
/// Шаг перемещения автомобиля
|
||||
/// Шаг перемещения истребителя
|
||||
/// </summary>
|
||||
public double Step => Speed * 100 / Weight;
|
||||
/// <summary>
|
||||
/// Инициализация полей объекта-класса спортивного автомобиля
|
||||
/// Инициализация полей объекта-класса истребителя
|
||||
/// </summary>
|
||||
/// <param name="speed">Скорость</param>
|
||||
/// <param name="weight">Вес автомобиля</param>
|
||||
/// <param name="weight">Вес истребителя</param>
|
||||
/// <param name="bodyColor">Основной цвет</param>
|
||||
/// <param name="additionalColor">Дополнительный цвет</param>
|
||||
/// <param name="bodyRockets">Признак наличия обвеса</param>
|
||||
/// <param name="additionalWings">Признак наличия антикрыла</param>
|
||||
/// <param name="sportLine">Признак наличия гоночной полосы</param>
|
||||
/// <param name="bodyRockets">Признак наличия ракет</param>
|
||||
/// <param name="additionalWings">Признак наличия дополнительных крыльев</param>
|
||||
public void Init(int speed, double weight, Color bodyColor, Color
|
||||
additionalColor, bool bodyRockets, bool additionalWings)
|
||||
{
|
||||
|
@ -48,8 +48,8 @@ public partial class FormAirFighter : Form
|
||||
Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)),
|
||||
Convert.ToBoolean(random.Next(0, 2)), Convert.ToBoolean(random.Next(0, 2)));
|
||||
|
||||
//_drawningAirFighter.SetPictureSize(pictureBoxAirFighter.Width, pictureBoxAirFighter.Height);
|
||||
_drawningAirFighter.SetPosition(random.Next(10, 100), random.Next(10, 100), pictureBoxAirFighter.Width, pictureBoxAirFighter.Height);
|
||||
_drawningAirFighter.SetPictureSize(pictureBoxAirFighter.Width, pictureBoxAirFighter.Height);
|
||||
_drawningAirFighter.SetPosition(random.Next(10, 100), random.Next(10, 100));
|
||||
Draw();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user