commit 2
This commit is contained in:
parent
7290e5e9ee
commit
accd2d5f4d
@ -35,7 +35,7 @@ public class DrawingAntiAircraftGun
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Длина прорисовки зенитки
|
/// Длина прорисовки зенитки
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private readonly int _drawingAntiAircraftGunWidth = 110;
|
private readonly int _drawingAntiAircraftGunWidth = 100;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Высота прорисовки зенитки
|
/// Высота прорисовки зенитки
|
||||||
@ -70,8 +70,8 @@ public class DrawingAntiAircraftGun
|
|||||||
/// <returns>true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах</returns>
|
/// <returns>true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах</returns>
|
||||||
public bool SetPictureSize(int width, int height)
|
public bool SetPictureSize(int width, int height)
|
||||||
{
|
{
|
||||||
// TODO проверка, что объект "влезает" в размеры поля
|
if (_drawingAntiAircraftGunHeight > height || _drawingAntiAircraftGunWidth > width) return false;
|
||||||
// если влезает, сохраняем границы и корректируем позицию объекта, если она была уже установлена
|
|
||||||
_pictureWidth = width;
|
_pictureWidth = width;
|
||||||
_pictureHeight = height;
|
_pictureHeight = height;
|
||||||
return true;
|
return true;
|
||||||
@ -89,9 +89,9 @@ public class DrawingAntiAircraftGun
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO если при установке объекта в эти координаты, он будет "выходить" за границы формы
|
if (x < 0 || y < 0 || x + _drawingAntiAircraftGunWidth > _pictureWidth || y + _drawingAntiAircraftGunHeight > _pictureHeight) return;
|
||||||
// то надо изменить координаты, чтобы он оставался в этих границах
|
|
||||||
_startPosX = x;
|
_startPosX = x;
|
||||||
_startPosY = y;
|
_startPosY = y;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,7 +103,7 @@ public class DrawingAntiAircraftGun
|
|||||||
public bool MoveTransport(DirectionType direction)
|
public bool MoveTransport(DirectionType direction)
|
||||||
{
|
{
|
||||||
if (EntityAntiAircraftGun == null || !_startPosX.HasValue ||
|
if (EntityAntiAircraftGun == null || !_startPosX.HasValue ||
|
||||||
!_startPosY.HasValue)
|
!_startPosY.HasValue)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -151,61 +151,61 @@ public class DrawingAntiAircraftGun
|
|||||||
public void DrawTransport(Graphics g)
|
public void DrawTransport(Graphics g)
|
||||||
{
|
{
|
||||||
if (EntityAntiAircraftGun == null || !_startPosX.HasValue ||
|
if (EntityAntiAircraftGun == null || !_startPosX.HasValue ||
|
||||||
!_startPosY.HasValue)
|
!_startPosY.HasValue)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Pen pen = new(Color.Black);
|
Pen pen = new(EntityAntiAircraftGun.BodyColor);
|
||||||
Brush additionalBrush = new SolidBrush(EntityAntiAircraftGun.AdditionalColor);
|
Pen additionalPen = new(EntityAntiAircraftGun.AdditionalColor);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//зенитные орудия
|
//зенитные орудия
|
||||||
if (EntityAntiAircraftGun.AAG)
|
if (EntityAntiAircraftGun.AAG)
|
||||||
{
|
{
|
||||||
g.DrawLine(pen, _startPosX.Value + 90, _startPosY.Value + 15, _startPosX.Value + 40, _startPosY.Value + 3);
|
|
||||||
g.DrawLine(pen, _startPosX.Value + 88, _startPosY.Value + 13, _startPosX.Value + 38, _startPosY.Value + 1);
|
g.DrawLine(additionalPen, _startPosX.Value + 85, _startPosY.Value + 15, _startPosX.Value + 40, _startPosY.Value + 3);
|
||||||
g.DrawLine(pen, _startPosX.Value + 89, _startPosY.Value + 14, _startPosX.Value + 39, _startPosY.Value + 2);
|
g.DrawLine(additionalPen, _startPosX.Value + 83, _startPosY.Value + 13, _startPosX.Value + 38, _startPosY.Value + 1);
|
||||||
|
g.DrawLine(additionalPen, _startPosX.Value + 84, _startPosY.Value + 14, _startPosX.Value + 39, _startPosY.Value + 2);
|
||||||
}
|
}
|
||||||
//радар
|
//радар
|
||||||
if (EntityAntiAircraftGun.Radar)
|
if (EntityAntiAircraftGun.Radar)
|
||||||
{
|
{
|
||||||
g.DrawArc(pen, _startPosX.Value + 10, _startPosY.Value + 5, 20, 20, -45, 180);
|
g.DrawArc(additionalPen, _startPosX.Value + 5, _startPosY.Value + 5, 20, 20, -45, 180);
|
||||||
g.DrawArc(pen, _startPosX.Value + 9, _startPosY.Value + 4, 20, 20, -45, 180);
|
g.DrawArc(additionalPen, _startPosX.Value + 4, _startPosY.Value + 4, 20, 20, -45, 180);
|
||||||
g.DrawArc(pen, _startPosX.Value + 11, _startPosY.Value + 6, 20, 20, -45, 180);
|
g.DrawArc(additionalPen, _startPosX.Value + 6, _startPosY.Value + 6, 20, 20, -45, 180);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//гусеница
|
//гусеница
|
||||||
g.DrawEllipse(pen, _startPosX.Value + 5, _startPosY.Value + 30, 100,
|
g.DrawEllipse(pen, _startPosX.Value, _startPosY.Value + 30, 100,
|
||||||
30);
|
30);
|
||||||
|
|
||||||
//колеса для гусеницы
|
//колеса для гусеницы
|
||||||
Brush brBlack = new SolidBrush(Color.Black);
|
Brush brBlack = new SolidBrush(EntityAntiAircraftGun.BodyColor);
|
||||||
g.FillEllipse(brBlack, _startPosX.Value + 10, _startPosY.Value + 35, 20,
|
g.FillEllipse(brBlack, _startPosX.Value + 5, _startPosY.Value + 35, 20,
|
||||||
20);
|
20);
|
||||||
|
|
||||||
g.FillEllipse(brBlack, _startPosX.Value + 80, _startPosY.Value + 35, 20,
|
g.FillEllipse(brBlack, _startPosX.Value + 75, _startPosY.Value + 35, 20,
|
||||||
20);
|
20);
|
||||||
|
|
||||||
|
|
||||||
g.FillEllipse(brBlack, _startPosX.Value + 30, _startPosY.Value + 45, 10,
|
g.FillEllipse(brBlack, _startPosX.Value + 25, _startPosY.Value + 45, 10,
|
||||||
10);
|
10);
|
||||||
g.FillEllipse(brBlack, _startPosX.Value + 60, _startPosY.Value + 45, 10,
|
g.FillEllipse(brBlack, _startPosX.Value + 55, _startPosY.Value + 45, 10,
|
||||||
10);
|
10);
|
||||||
g.FillEllipse(brBlack, _startPosX.Value + 40, _startPosY.Value + 45, 10,
|
g.FillEllipse(brBlack, _startPosX.Value + 35, _startPosY.Value + 45, 10,
|
||||||
10);
|
10);
|
||||||
g.FillEllipse(brBlack, _startPosX.Value + 50, _startPosY.Value + 45, 10,
|
g.FillEllipse(brBlack, _startPosX.Value + 45, _startPosY.Value + 45, 10,
|
||||||
10);
|
10);
|
||||||
g.FillEllipse(brBlack, _startPosX.Value + 70, _startPosY.Value + 45, 10,
|
g.FillEllipse(brBlack, _startPosX.Value + 65, _startPosY.Value + 45, 10,
|
||||||
10);
|
10);
|
||||||
//корпус+башня
|
//корпус+башня
|
||||||
Brush brGreen = new SolidBrush(Color.DarkGreen);
|
g.FillRectangle(brBlack, _startPosX.Value + 5, _startPosY.Value + 25, 90,
|
||||||
g.FillRectangle(brGreen, _startPosX.Value + 10, _startPosY.Value + 25, 90,
|
|
||||||
10);
|
10);
|
||||||
|
|
||||||
g.FillRectangle(brGreen, _startPosX.Value + 35, _startPosY.Value + 9, 30,
|
g.FillRectangle(brBlack, _startPosX.Value + 30, _startPosY.Value + 9, 30,
|
||||||
15);
|
15);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,14 +13,14 @@ namespace ProjectAntiAircraftGun
|
|||||||
public partial class FormAntiAircraftGun : Form
|
public partial class FormAntiAircraftGun : Form
|
||||||
{
|
{
|
||||||
|
|
||||||
private DrawingAntiAircraftGun? _drawingAntiAitcraftGun;
|
private DrawingAntiAircraftGun? _drawingAntiAircraftGun;
|
||||||
public FormAntiAircraftGun()
|
public FormAntiAircraftGun()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
private void Draw()
|
private void Draw()
|
||||||
{
|
{
|
||||||
if (_drawingAntiAitcraftGun == null)
|
if (_drawingAntiAircraftGun == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -28,7 +28,7 @@ namespace ProjectAntiAircraftGun
|
|||||||
Bitmap bmp = new(pictureBoxAntiAircraftGun.Width,
|
Bitmap bmp = new(pictureBoxAntiAircraftGun.Width,
|
||||||
pictureBoxAntiAircraftGun.Height);
|
pictureBoxAntiAircraftGun.Height);
|
||||||
Graphics gr = Graphics.FromImage(bmp);
|
Graphics gr = Graphics.FromImage(bmp);
|
||||||
_drawingAntiAitcraftGun.DrawTransport(gr);
|
_drawingAntiAircraftGun.DrawTransport(gr);
|
||||||
pictureBoxAntiAircraftGun.Image = bmp;
|
pictureBoxAntiAircraftGun.Image = bmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,25 +40,25 @@ namespace ProjectAntiAircraftGun
|
|||||||
private void buttonCreate_Click(object sender, EventArgs e)
|
private void buttonCreate_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Random random = new();
|
Random random = new();
|
||||||
_drawingAntiAitcraftGun = new DrawingAntiAircraftGun();
|
_drawingAntiAircraftGun = new DrawingAntiAircraftGun();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_drawingAntiAitcraftGun.Init(random.Next(100, 300), random.Next(1000,
|
_drawingAntiAircraftGun.Init(random.Next(100, 300), random.Next(1000,
|
||||||
3000),
|
3000),
|
||||||
Color.FromArgb(random.Next(0, 256)),
|
Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)),
|
||||||
Color.FromArgb(random.Next(0, 256)),
|
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)),
|
||||||
Convert.ToBoolean(random.Next(0, 2)));
|
Convert.ToBoolean(random.Next(0, 2)));
|
||||||
_drawingAntiAitcraftGun.SetPictureSize(pictureBoxAntiAircraftGun.Width,
|
_drawingAntiAircraftGun.SetPictureSize(pictureBoxAntiAircraftGun.Width,
|
||||||
pictureBoxAntiAircraftGun.Height);
|
pictureBoxAntiAircraftGun.Height);
|
||||||
_drawingAntiAitcraftGun.SetPosition(random.Next(10, 100), random.Next(10,
|
_drawingAntiAircraftGun.SetPosition(random.Next(10, 100), random.Next(10,
|
||||||
100));
|
100));
|
||||||
Draw();
|
Draw();
|
||||||
}
|
}
|
||||||
private void buttonMove_Click(object sender, EventArgs e)
|
private void buttonMove_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (_drawingAntiAitcraftGun == null)
|
if (_drawingAntiAircraftGun == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -69,19 +69,19 @@ Convert.ToBoolean(random.Next(0, 2)));
|
|||||||
{
|
{
|
||||||
case "buttonUp":
|
case "buttonUp":
|
||||||
result =
|
result =
|
||||||
_drawingAntiAitcraftGun.MoveTransport(DirectionType.Up);
|
_drawingAntiAircraftGun.MoveTransport(DirectionType.Up);
|
||||||
break;
|
break;
|
||||||
case "buttonDown":
|
case "buttonDown":
|
||||||
result =
|
result =
|
||||||
_drawingAntiAitcraftGun.MoveTransport(DirectionType.Down);
|
_drawingAntiAircraftGun.MoveTransport(DirectionType.Down);
|
||||||
break;
|
break;
|
||||||
case "buttonLeft":
|
case "buttonLeft":
|
||||||
result =
|
result =
|
||||||
_drawingAntiAitcraftGun.MoveTransport(DirectionType.Left);
|
_drawingAntiAircraftGun.MoveTransport(DirectionType.Left);
|
||||||
break;
|
break;
|
||||||
case "buttonRight":
|
case "buttonRight":
|
||||||
result =
|
result =
|
||||||
_drawingAntiAitcraftGun.MoveTransport(DirectionType.Right);
|
_drawingAntiAircraftGun.MoveTransport(DirectionType.Right);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user