Compare commits
3 Commits
21f5c7ac1b
...
fd17593df5
Author | SHA1 | Date | |
---|---|---|---|
fd17593df5 | |||
c11d4126a5 | |||
8cd9bd77c1 |
@ -22,7 +22,7 @@ namespace AirBomber
|
|||||||
/// <param name="width">Ширина картинки</param>
|
/// <param name="width">Ширина картинки</param>
|
||||||
/// <param name="height">Высота картинки</param>
|
/// <param name="height">Высота картинки</param>
|
||||||
public DrawningAirBomber(int speed, double weight, Color bodyColor, Color
|
public DrawningAirBomber(int speed, double weight, Color bodyColor, Color
|
||||||
additionalColor, bool bombs, Color bombsColor, bool fuelTanks, int width, int height) :
|
additionalColor, bool bombs, Color bombsColor, bool fuelTanks, int width, int height) :
|
||||||
|
|
||||||
base(speed, weight, bodyColor, width, height, 160, 118)
|
base(speed, weight, bodyColor, width, height, 160, 118)
|
||||||
{
|
{
|
||||||
@ -42,14 +42,12 @@ namespace AirBomber
|
|||||||
Brush bombsColor = new SolidBrush(airBomber.BombsColor);
|
Brush bombsColor = new SolidBrush(airBomber.BombsColor);
|
||||||
base.DrawPlane(g);
|
base.DrawPlane(g);
|
||||||
// обвесы
|
// обвесы
|
||||||
|
|
||||||
g.FillEllipse(bombsColor, _startPosX + 90, _startPosY + 20, 15, 29);
|
g.FillEllipse(bombsColor, _startPosX + 90, _startPosY + 20, 15, 29);
|
||||||
g.DrawEllipse(pen, _startPosX + 90, _startPosY + 20, 15, 29);
|
g.DrawEllipse(pen, _startPosX + 90, _startPosY + 20, 15, 29);
|
||||||
g.FillEllipse(bombsColor, _startPosX + 90, _startPosY + 70, 15, 29);
|
g.FillEllipse(bombsColor, _startPosX + 90, _startPosY + 70, 15, 29);
|
||||||
g.DrawEllipse(pen, _startPosX + 90, _startPosY + 70, 15, 29);
|
g.DrawEllipse(pen, _startPosX + 90, _startPosY + 70, 15, 29);
|
||||||
g.FillEllipse(bombsColor, _startPosX + 140, _startPosY + 50, 15, 15);
|
g.FillEllipse(bombsColor, _startPosX + 140, _startPosY + 50, 15, 15);
|
||||||
g.DrawEllipse(pen, _startPosX + 140, _startPosY + 50, 15, 15);
|
g.DrawEllipse(pen, _startPosX + 140, _startPosY + 50, 15, 15);
|
||||||
|
|
||||||
// fueltanks
|
// fueltanks
|
||||||
g.FillRectangle(additionalBrush, _startPosX + 63, _startPosY + 34, 20, 15);
|
g.FillRectangle(additionalBrush, _startPosX + 63, _startPosY + 34, 20, 15);
|
||||||
g.DrawRectangle(pen, _startPosX + 63, _startPosY + 34, 20, 15);
|
g.DrawRectangle(pen, _startPosX + 63, _startPosY + 34, 20, 15);
|
||||||
|
@ -81,6 +81,14 @@ namespace AirBomber
|
|||||||
public void SetPosition(int x, int y)
|
public void SetPosition(int x, int y)
|
||||||
{
|
{
|
||||||
// TODO: Изменение x, y, если при установке объект выходит за границы
|
// TODO: Изменение x, y, если при установке объект выходит за границы
|
||||||
|
if (x < 0 || x + _airPlaneWidth > _pictureWidth)
|
||||||
|
{
|
||||||
|
x = _pictureWidth - _airPlaneWidth;
|
||||||
|
}
|
||||||
|
if (y < 0 || y + _airPlaneHeight > _pictureHeight)
|
||||||
|
{
|
||||||
|
y = _pictureHeight - _airPlaneHeight;
|
||||||
|
}
|
||||||
_startPosX = x;
|
_startPosX = x;
|
||||||
_startPosY = y;
|
_startPosY = y;
|
||||||
}
|
}
|
||||||
@ -88,44 +96,6 @@ namespace AirBomber
|
|||||||
/// Изменение направления перемещения
|
/// Изменение направления перемещения
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="direction">Направление</param>
|
/// <param name="direction">Направление</param>
|
||||||
public void MoveTransport(DirectionType direction)
|
|
||||||
{
|
|
||||||
if (EntityAirPlane == null)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
switch (direction)
|
|
||||||
{
|
|
||||||
//влево
|
|
||||||
case DirectionType.Left:
|
|
||||||
if (_startPosX - EntityAirPlane.Step > 0)
|
|
||||||
{
|
|
||||||
_startPosX -= (int)EntityAirPlane.Step;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
//вверх
|
|
||||||
case DirectionType.Up:
|
|
||||||
if (_startPosY - EntityAirPlane.Step > 0)
|
|
||||||
{
|
|
||||||
_startPosY -= (int)EntityAirPlane.Step;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
// вправо
|
|
||||||
case DirectionType.Right:
|
|
||||||
if (_startPosX + EntityAirPlane.Step + _airPlaneWidth < _pictureWidth)
|
|
||||||
{
|
|
||||||
_startPosX += (int)EntityAirPlane.Step;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
//вниз
|
|
||||||
case DirectionType.Down:
|
|
||||||
if (_startPosY + EntityAirPlane.Step + _airPlaneHeight < _pictureHeight)
|
|
||||||
{
|
|
||||||
_startPosY += (int)EntityAirPlane.Step;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Прорисовка объекта
|
/// Прорисовка объекта
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -255,9 +225,9 @@ namespace AirBomber
|
|||||||
//вверх
|
//вверх
|
||||||
DirectionType.Up => _startPosY - EntityAirPlane.Step > 0,
|
DirectionType.Up => _startPosY - EntityAirPlane.Step > 0,
|
||||||
// вправо
|
// вправо
|
||||||
DirectionType.Right => _startPosX + EntityAirPlane.Step < _pictureWidth,
|
DirectionType.Right => _startPosX + EntityAirPlane.Step + _airPlaneWidth < _pictureWidth,
|
||||||
//вниз
|
//вниз
|
||||||
DirectionType.Down => _startPosY + EntityAirPlane.Step < _pictureHeight,
|
DirectionType.Down => _startPosY + EntityAirPlane.Step + _airPlaneHeight < _pictureHeight,
|
||||||
_ => false,
|
_ => false,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,6 @@ namespace AirBomber
|
|||||||
public bool CheckCanMove(DirectionType direction) =>
|
public bool CheckCanMove(DirectionType direction) =>
|
||||||
_drawningAirPlane?.CanMove(direction) ?? false;
|
_drawningAirPlane?.CanMove(direction) ?? false;
|
||||||
public void MoveObject(DirectionType direction) =>
|
public void MoveObject(DirectionType direction) =>
|
||||||
_drawningAirPlane?.MoveTransport(direction);
|
_drawningAirPlane?.MovePlane(direction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
AirBomber/AirBomber/FormAirBomber.Designer.cs
generated
2
AirBomber/AirBomber/FormAirBomber.Designer.cs
generated
@ -114,7 +114,7 @@
|
|||||||
comboBoxStrategy.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
comboBoxStrategy.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
comboBoxStrategy.DropDownStyle = ComboBoxStyle.DropDownList;
|
comboBoxStrategy.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
comboBoxStrategy.FormattingEnabled = true;
|
comboBoxStrategy.FormattingEnabled = true;
|
||||||
comboBoxStrategy.Items.AddRange(new object[] { "MoveToCenter", "MoveToRightEdge" });
|
comboBoxStrategy.Items.AddRange(new object[] { "MoveToCenter", "MoveToBorder" });
|
||||||
comboBoxStrategy.Location = new Point(755, 26);
|
comboBoxStrategy.Location = new Point(755, 26);
|
||||||
comboBoxStrategy.Name = "comboBoxStrategy";
|
comboBoxStrategy.Name = "comboBoxStrategy";
|
||||||
comboBoxStrategy.Size = new Size(219, 33);
|
comboBoxStrategy.Size = new Size(219, 33);
|
||||||
|
@ -55,16 +55,16 @@
|
|||||||
switch (name)
|
switch (name)
|
||||||
{
|
{
|
||||||
case "buttonUp":
|
case "buttonUp":
|
||||||
_drawningAirPlane.MoveTransport(DirectionType.Up);
|
_drawningAirPlane.MovePlane(DirectionType.Up);
|
||||||
break;
|
break;
|
||||||
case "buttonDown":
|
case "buttonDown":
|
||||||
_drawningAirPlane.MoveTransport(DirectionType.Down);
|
_drawningAirPlane.MovePlane(DirectionType.Down);
|
||||||
break;
|
break;
|
||||||
case "buttonLeft":
|
case "buttonLeft":
|
||||||
_drawningAirPlane.MoveTransport(DirectionType.Left);
|
_drawningAirPlane.MovePlane(DirectionType.Left);
|
||||||
break;
|
break;
|
||||||
case "buttonRight":
|
case "buttonRight":
|
||||||
_drawningAirPlane.MoveTransport(DirectionType.Right);
|
_drawningAirPlane.MovePlane(DirectionType.Right);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Draw();
|
Draw();
|
||||||
|
@ -27,6 +27,5 @@ namespace AirBomber
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="direction">Направление</param>
|
/// <param name="direction">Направление</param>
|
||||||
void MoveObject(DirectionType direction);
|
void MoveObject(DirectionType direction);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ namespace AirBomber
|
|||||||
var objParams = GetObjectParameters;
|
var objParams = GetObjectParameters;
|
||||||
if (objParams == null) return;
|
if (objParams == null) return;
|
||||||
if (objParams.RightBorder < FieldWidth - GetStep()) MoveRight();
|
if (objParams.RightBorder < FieldWidth - GetStep()) MoveRight();
|
||||||
|
if (objParams.DownBorder < FieldHeight - GetStep()) MoveDown();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user