Лабораторная работа №2 Готовая

This commit is contained in:
xom9kxom9k 2024-03-07 18:22:00 +04:00
parent 0547b719a4
commit bd1882b5cf
5 changed files with 18 additions and 17 deletions

View File

@ -104,8 +104,7 @@ public class DrawningAircraftGun
/// <returns></returns>
public bool SetPictureSize(int width, int height)
{
// TODO проверка, что объект "влезает" в размеры поля
// если влезает, сохраняем границы и корректируем позицию объекта,если она была уже установлена
if (width < _drawningGunWidth || height < _drawningGunHeight) { return false; };
_pictureWidth = width;
_pictureHeight = height;
@ -138,8 +137,7 @@ public class DrawningAircraftGun
public void SetPosition(int x, int y)
{
// TODO если при установке объекта в эти координаты, он будет "выходить" за границы формы
// то надо изменить координаты, чтобы он оставался в этих границах
if (!_pictureHeight.HasValue || !_pictureWidth.HasValue)
{
return;

View File

@ -13,13 +13,12 @@ public class DrawningAntiAircraftGun : DrawningAircraftGun
/// <param name="weight">Вес</param>
/// <param name="bodyColor">Основной цвет</param>
/// <param name="additionalColor">Дополнительный цвет</param>
/// <param name="bodyKit">Признак наличия обвесов</param>
/// <param name="tower">Признак наличия башни</param>
/// <param name="radar">Признак наличия радара</param>
public DrawningAntiAircraftGun(int speed, double weight, Color bodyColor, Color additionalColor, bool bodyKit, bool radar, bool tower) : base(129, 60)
public DrawningAntiAircraftGun(int speed, double weight, Color bodyColor, Color additionalColor, bool radar, bool tower) : base(129, 105)
{
EntityAircraftGun = new EntityAntiAircraftGun(speed, weight, bodyColor, radar, tower, bodyKit, additionalColor);
EntityAircraftGun = new EntityAntiAircraftGun(speed, weight, bodyColor, radar, tower, additionalColor);
}
/// <summary>
/// Прорисовка объекта

View File

@ -5,7 +5,9 @@ using System.Text;
using System.Threading.Tasks;
namespace AntiAircraftGun.Entities;
/// <summary>
/// Класс - сущность Бронированная машина
/// </summary>
public class EntityAircraftGun
{
/// <summary>

View File

@ -9,10 +9,6 @@ public class EntityAntiAircraftGun : EntityAircraftGun
/// </summary>
public Color AdditionalColor { get; private set; }
/// <summary>
/// Наличие обвеса
/// </summary>
public bool BodyKit { get; private set; }
/// <summary>
/// Наличие башни
/// </summary>
public bool Tower { get; private set; }
@ -28,15 +24,13 @@ public class EntityAntiAircraftGun : EntityAircraftGun
/// <param name="weight">Вес</param>
/// <param name="bodyColor">Основной цвет</param>
/// <param name="additionalColor">Дополнительный цвет</param>
/// <param name="bodyKit">Наличие обвеса</param>
/// <param name="tower">Наличие башни</param>
/// <param name="radar">Наличие радара</param>
public EntityAntiAircraftGun(int speed, double weight, Color bodyColor, bool radar, bool tower, bool bodyKit, Color additionalColor) : base(speed, weight, bodyColor)
public EntityAntiAircraftGun(int speed, double weight, Color bodyColor, bool radar, bool tower, Color additionalColor) : base(speed, weight, bodyColor)
{
Radar = radar;
Tower = tower;
BodyKit = bodyKit;
AdditionalColor = additionalColor;
}
}

View File

@ -35,6 +35,10 @@ namespace AntiAircraftGun
_drawningAircraftGun.DrawTransport(gr);
pictureBoxAntiAircraftGun.Image = bmp;
}
/// <summary>
/// Метод создания объекта
/// </summary>
/// <param name="type"></param>
private void CreateObject(string type)
{
Random random = new();
@ -48,7 +52,7 @@ namespace AntiAircraftGun
_drawningAircraftGun = new DrawningAntiAircraftGun(random.Next(100, 300), random.Next(1000, 3000),
Color.FromArgb(random.Next(0, 256), random.Next(0, 256), 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)), Convert.ToBoolean(random.Next(0, 2)));
break;
default:
return;
@ -106,7 +110,11 @@ namespace AntiAircraftGun
Draw();
}
}
/// <summary>
/// Метод выбора стратегии
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void buttonStrategyStep_Click(object sender, EventArgs e)
{
if (_drawningAircraftGun == null)