diff --git a/Assets/Scripts/UnitBrains/Player/SecondUnitBrain.cs b/Assets/Scripts/UnitBrains/Player/SecondUnitBrain.cs index c2c80e989..97f37b5c1 100644 --- a/Assets/Scripts/UnitBrains/Player/SecondUnitBrain.cs +++ b/Assets/Scripts/UnitBrains/Player/SecondUnitBrain.cs @@ -1,5 +1,6 @@ -using System.Collections.Generic; -using Model.Runtime.Projectiles; +using Model.Runtime.Projectiles; +using System.Collections.Generic; +using System.Linq; using UnityEngine; namespace UnitBrains.Player @@ -34,12 +35,27 @@ protected override List SelectTargets() /////////////////////////////////////// // Homework 1.4 (1st block, 4rd module) /////////////////////////////////////// - List result = GetReachableTargets(); - while (result.Count > 1) + List reachableTargets = GetReachableTargets(); + + if (reachableTargets.Count == 0) return reachableTargets; + + Vector2Int nearestToBaseTarget = reachableTargets.FirstOrDefault(); + + foreach (Vector2Int target in reachableTargets) { - result.RemoveAt(result.Count - 1); + if (DistanceToOwnBase(target) < DistanceToOwnBase(nearestToBaseTarget)) + { + nearestToBaseTarget = target; + } } - return result; + + while (reachableTargets.Count > 0) + { + reachableTargets.RemoveAt(reachableTargets.Count - 1); + } + reachableTargets.Add(nearestToBaseTarget); + + return reachableTargets; /////////////////////////////////////// }