diff --git a/Assets/Scripts/UnitBrains/Player/SecondUnitBrain.cs b/Assets/Scripts/UnitBrains/Player/SecondUnitBrain.cs index c2c80e989..94823d184 100644 --- a/Assets/Scripts/UnitBrains/Player/SecondUnitBrain.cs +++ b/Assets/Scripts/UnitBrains/Player/SecondUnitBrain.cs @@ -19,8 +19,20 @@ protected override void GenerateProjectiles(Vector2Int forTarget, List= overheatTemperature) + { + return; + } + + int shotsCount = GetTemperature() + 1; + + for (int i = 0; i < shotsCount; i++) + { + var projectile = CreateProjectile(forTarget); + AddProjectileToList(projectile, intoList); + } + + IncreaseTemperature(); /////////////////////////////////////// } @@ -35,10 +47,29 @@ protected override List SelectTargets() // Homework 1.4 (1st block, 4rd module) /////////////////////////////////////// List result = GetReachableTargets(); - while (result.Count > 1) + float minDistance = float.MaxValue; + Vector2Int nearestTarget = Vector2Int.zero; + bool targetFound = false; + + foreach (Vector2Int target in result) { - result.RemoveAt(result.Count - 1); + float distance = DistanceToOwnBase(target); + + if (distance < minDistance) + { + minDistance = distance; + nearestTarget = target; + targetFound = true; + } + } + + result.Clear(); + + if (targetFound) + { + result.Add(nearestTarget); } + return result; /////////////////////////////////////// }