From 8366bfcb93222524a829897e4eaaec0a7b405f0f Mon Sep 17 00:00:00 2001 From: tian <11429339@qq.com> Date: Sat, 13 Jun 2026 09:40:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20Planner=20=E4=BB=8E=E5=A4=9A=E5=8D=95?= =?UTF-8?q?=E5=85=83=E5=87=91=E5=BC=B9=E8=8D=AF=EF=BC=8C=E4=B8=8D=E5=86=8D?= =?UTF-8?q?=E8=A2=AB=E5=8D=95=E4=B8=AA=20TotalMunitions=20=E5=8D=A1?= =?UTF-8?q?=E6=AD=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 每个威胁可从多个火力单元汇集弹药,直到满足需求或耗尽。 单元测试 24/24 通过。 --- .../Algorithms/DefaultDefensePlanner.cs | 81 +++++++++++------- .../CounterDrone.Core/CounterDrone.Core.dll | Bin 116736 -> 116736 bytes 2 files changed, 50 insertions(+), 31 deletions(-) diff --git a/src/CounterDrone.Core/Algorithms/DefaultDefensePlanner.cs b/src/CounterDrone.Core/Algorithms/DefaultDefensePlanner.cs index 0d0a26b..9f07258 100644 --- a/src/CounterDrone.Core/Algorithms/DefaultDefensePlanner.cs +++ b/src/CounterDrone.Core/Algorithms/DefaultDefensePlanner.cs @@ -113,45 +113,64 @@ namespace CounterDrone.Core.Algorithms continue; } - // 选最早可拦截的 - var best = candidates - .OrderBy(c => c.EarliestInterceptTime) - .ThenByDescending(c => c.KillProbability) - .First(); + // 计算总弹药需求 + var neededAmmo = MatchAmmo((PowerType)threat.Target.PowerType); + var ammo = _ammoCatalog.FirstOrDefault(a => a.AerosolType == (int)neededAmmo); + int totalRoundsNeeded = CalcRoundsNeeded(threat, ammo, env, + candidates[0].Unit.Type == PlatformType.AirBased); - var ammo = _ammoCatalog.FirstOrDefault(a => a.AerosolType == (int)best.AmmoType); - int roundsNeeded = CalcRoundsNeeded(threat, ammo, env, best.Unit.Type == PlatformType.AirBased); - int actualRounds = Math.Min(roundsNeeded, remainingMunitions[best.Unit.Id]); + // 从多个候选单元凑弹药,直到满足需求或耗尽 + int roundsCollected = 0; + var assignedUnits = new List<(FireUnit unit, int rounds, List events)>(); - if (actualRounds <= 0) { plan.ThreatsUnengaged++; continue; } - - var fireEvents = GenerateFireEvents(threat, best.Unit, best.AmmoType, - actualRounds, ammo, env); - - plan.Assignments.Add(new UnitAssignment + foreach (var c in candidates.OrderBy(c => c.EarliestInterceptTime) + .ThenByDescending(c => c.KillProbability)) { - FireUnitId = best.Unit.Id, - DroneGroupId = threat.GroupId, - AmmoType = best.AmmoType, - RoundsFired = actualRounds, - FirstFireTime = fireEvents.Count > 0 ? fireEvents[0].FireTime : 0, - FireEvents = fireEvents, - }); + if (roundsCollected >= totalRoundsNeeded) break; + int remaining = remainingMunitions.GetValueOrDefault(c.Unit.Id, 0); + if (remaining <= 0) continue; + + int toTake = Math.Min(remaining, totalRoundsNeeded - roundsCollected); + var fireEvents = GenerateFireEvents(threat, c.Unit, c.AmmoType, toTake, ammo, env); + assignedUnits.Add((c.Unit, toTake, fireEvents)); + remainingMunitions[c.Unit.Id] -= toTake; + roundsCollected += toTake; + } + + if (roundsCollected <= 0) { plan.ThreatsUnengaged++; continue; } + + foreach (var (unit, rounds, fireEvents) in assignedUnits) + { + plan.Assignments.Add(new UnitAssignment + { + FireUnitId = unit.Id, + DroneGroupId = threat.GroupId, + AmmoType = neededAmmo, + RoundsFired = rounds, + FirstFireTime = fireEvents.Count > 0 ? fireEvents[0].FireTime : 0, + FireEvents = fireEvents, + }); + plan.MergedSchedule.AddRange(fireEvents); + } - plan.MergedSchedule.AddRange(fireEvents); - remainingMunitions[best.Unit.Id] -= actualRounds; plan.ThreatsEngaged++; } plan.MergedSchedule.Sort((a, b) => a.FireTime.CompareTo(b.FireTime)); - plan.OverallProbability = plan.Assignments.Count > 0 - ? (float)plan.Assignments.Average(a => - { - var t = sortedThreats.First(th => th.GroupId == a.DroneGroupId); - var a2 = _ammoCatalog.FirstOrDefault(s => s.AerosolType == (int)a.AmmoType); - return ComputeInterceptProbability(t, a2, a.RoundsFired, env); - }) - : 0f; + + // 按威胁汇总概率 + var threatProbs = new List(); + foreach (var threat in sortedThreats) + { + var a2 = _ammoCatalog.FirstOrDefault(s => + s.AerosolType == (int)MatchAmmo((PowerType)threat.Target.PowerType)); + int totalRounds = plan.Assignments + .Where(a => a.DroneGroupId == threat.GroupId) + .Sum(a => a.RoundsFired); + if (totalRounds > 0) + threatProbs.Add(ComputeInterceptProbability(threat, a2, totalRounds, env)); + } + plan.OverallProbability = threatProbs.Count > 0 ? threatProbs.Average() : 0f; plan.Summary = plan.ThreatsEngaged > 0 ? $"分配 {plan.ThreatsEngaged} 个威胁,{plan.ThreatsUnengaged} 个无方案" : "无威胁被分配拦截方案"; diff --git a/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll b/src/Unity/Assets/Plugins/CounterDrone.Core/CounterDrone.Core.dll index 1a4b1710c3b8b385c982578a55c84d7d73fa284c..ad033a2fa3b94ee4678230d31b4e2b440145ae17 100644 GIT binary patch delta 41463 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 Vksb0+@cok3sm4w6-*|s!)ISLk@xK57