From f74d8a8bd369bbd487d68bae766758f12a13754d Mon Sep 17 00:00:00 2001 From: nezui1 Date: Sat, 6 Apr 2024 13:40:17 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=E2=84=963?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjectAirFighter/ProjectAirFighter/AdNum.cs | 16 ++++++++++++++++ .../CollectionGenericObjects/AbstractCompany.cs | 6 +++--- ...icObjects.cs => ICollectionGenericObjects.cs} | 2 +- .../MassiveGenericObjects.cs | 3 ++- .../CollectionGenericObjects/WarPlaneBase.cs | 16 ++++++++-------- .../ProjectAirFighter/FormWarPlaneCollection.cs | 3 +-- 6 files changed, 31 insertions(+), 15 deletions(-) create mode 100644 ProjectAirFighter/ProjectAirFighter/AdNum.cs rename ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/{ICollectionGeneticObjects.cs => ICollectionGenericObjects.cs} (97%) diff --git a/ProjectAirFighter/ProjectAirFighter/AdNum.cs b/ProjectAirFighter/ProjectAirFighter/AdNum.cs new file mode 100644 index 0000000..fb0c08c --- /dev/null +++ b/ProjectAirFighter/ProjectAirFighter/AdNum.cs @@ -0,0 +1,16 @@ +using ProjectAirFighter.Drawning; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection.Metadata.Ecma335; +using System.Text; +using System.Threading.Tasks; + +namespace ProjectAirFighter; + +public class AdNum + where T : DrawningAirFighter +{ + public void Nothing(){ + } +} diff --git a/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/AbstractCompany.cs b/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/AbstractCompany.cs index fdfe0fa..eca1f2e 100644 --- a/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/AbstractCompany.cs +++ b/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/AbstractCompany.cs @@ -32,7 +32,7 @@ public abstract class AbstractCompany /// /// Коллекция военных самолетов /// - protected ICollectionGeneticObjects _collection = null; + protected ICollectionGenericObjects _collection = null; /// /// Вычисление максимального количества элементов, которые можно разместить в окне @@ -45,12 +45,12 @@ public abstract class AbstractCompany /// Ширина окна /// Высота окна /// Коллекция военных самолетов - public AbstractCompany(int picWidth, int picHeight, ICollectionGeneticObjects collection) + public AbstractCompany(int picWidth, int picHeight, ICollectionGenericObjects collection) { _pictureWidth = picWidth; _pictureHeight = picHeight; _collection = collection; - _collection.SetMaxCount = GetMaxCount; + _collection.SetMaxCount = GetMaxCount - 4; } /// diff --git a/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/ICollectionGeneticObjects.cs b/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/ICollectionGenericObjects.cs similarity index 97% rename from ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/ICollectionGeneticObjects.cs rename to ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/ICollectionGenericObjects.cs index 719e249..df1b6ce 100644 --- a/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/ICollectionGeneticObjects.cs +++ b/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/ICollectionGenericObjects.cs @@ -10,7 +10,7 @@ namespace ProjectAirFighter.CollectionGenericObject; /// Интерфейс описания действий для набора хранимых объектов /// /// -public interface ICollectionGeneticObjects +public interface ICollectionGenericObjects where T : class { /// diff --git a/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/MassiveGenericObjects.cs b/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/MassiveGenericObjects.cs index aacdbff..b398a65 100644 --- a/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/MassiveGenericObjects.cs +++ b/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/MassiveGenericObjects.cs @@ -1,4 +1,5 @@ using ProjectAirFighter.CollectionGenericObject; +using ProjectAirFighter.CollectionGenericObjects; using System; using System.Collections.Generic; using System.Linq; @@ -10,7 +11,7 @@ namespace ProjectAirFighter.CollectionGenericObjects; /// Параметризованный набор объектов /// /// Параметр: ограничение - ссылочный тип -public class MassiveGenericObjects : ICollectionGeneticObjects +public class MassiveGenericObjects : ICollectionGenericObjects where T : class { /// diff --git a/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/WarPlaneBase.cs b/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/WarPlaneBase.cs index 1c8de4e..adec8a4 100644 --- a/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/WarPlaneBase.cs +++ b/ProjectAirFighter/ProjectAirFighter/CollectionGenericObjects/WarPlaneBase.cs @@ -10,7 +10,7 @@ namespace ProjectAirFighter.CollectionGenericObjects; public class WarPlaneBase : AbstractCompany { - public WarPlaneBase(int picWidth, int picHeight, ICollectionGeneticObjects collection) : base(picWidth, picHeight, collection) + public WarPlaneBase(int picWidth, int picHeight, ICollectionGenericObjects collection) : base(picWidth, picHeight, collection) { } @@ -32,8 +32,8 @@ public class WarPlaneBase : AbstractCompany int width = _pictureWidth / _placeSizeWidth; int height = _pictureHeight / _placeSizeHeight; - int curWidth = 0; - int curHeight = 0; + int curWidth = width - 1; + int curHeight = height - 1; for (int i = 0; i < (_collection?.Count ?? 0); i++) { @@ -43,14 +43,14 @@ public class WarPlaneBase : AbstractCompany _collection.Get(i).SetPosition(_placeSizeWidth * curWidth + 10, curHeight * _placeSizeHeight + 5); } - if (curHeight < height - 1) - curHeight++; + if (curWidth > 0) + curWidth--; else { - curHeight = 0; - curWidth++; + curHeight--; + curWidth = width - 1; } - if (curHeight > height) + if (curHeight < 0) { return; diff --git a/ProjectAirFighter/ProjectAirFighter/FormWarPlaneCollection.cs b/ProjectAirFighter/ProjectAirFighter/FormWarPlaneCollection.cs index 239efa6..aa641ff 100644 --- a/ProjectAirFighter/ProjectAirFighter/FormWarPlaneCollection.cs +++ b/ProjectAirFighter/ProjectAirFighter/FormWarPlaneCollection.cs @@ -45,8 +45,7 @@ public partial class FormWarPlaneCollection : Form break; case nameof(DrawningAirFighter): drawningWarPlane = new DrawningAirFighter(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)), + GetColor(random), GetColor(random), Convert.ToBoolean(random.Next(0, 2)), Convert.ToBoolean(random.Next(0, 2))); break; default: