diff --git a/Assets/Scripts/EnterPoint.cs b/Assets/Scripts/EnterPoint.cs index 6f474a574..1f0eca643 100644 --- a/Assets/Scripts/EnterPoint.cs +++ b/Assets/Scripts/EnterPoint.cs @@ -10,7 +10,7 @@ public class EnterPoint : MonoBehaviour { [SerializeField] private Settings _settings; [SerializeField] private Canvas _targetCanvas; - private float _timeScale = 1; + private float _timeScale = 5; void Start() { diff --git a/Assets/Scripts/Model/Runtime/Projectiles/ArchToTileProjectile.cs b/Assets/Scripts/Model/Runtime/Projectiles/ArchToTileProjectile.cs index c37ed0218..f5fac1eda 100644 --- a/Assets/Scripts/Model/Runtime/Projectiles/ArchToTileProjectile.cs +++ b/Assets/Scripts/Model/Runtime/Projectiles/ArchToTileProjectile.cs @@ -34,7 +34,7 @@ protected override void UpdateImpl(float deltaTime, float time) /////////////////////////////////////// // End of the code to insert /////////////////////////////////////// - + Height = localHeight; if (time > StartTime + _timeToTarget) Hit(_target); diff --git a/Assets/Scripts/UnitBrains/Player/SecondUnitBrain.cs b/Assets/Scripts/UnitBrains/Player/SecondUnitBrain.cs index c2c80e989..76477af5c 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.Diagnostics; using UnityEngine; namespace UnitBrains.Player @@ -18,9 +19,21 @@ protected override void GenerateProjectiles(Vector2Int forTarget, List= overheatTemperature) + { + return; + } + else + { + IncreaseTemperature(); + } + for (int i = 1; i <= Temperature+1; i++) + { + var projectile = CreateProjectile(forTarget); + AddProjectileToList(projectile, intoList); + } /////////////////////////////////////// } @@ -35,10 +48,25 @@ 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; /////////////////////////////////////// }