/
V_yuid
/
ArmyPlay
Обзор
Документация
Войти
/
V_yuid
/
ArmyPlay
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Models/Formations/SingleQueueFormation.cs
27 строк
1000 B
Ver-yu
добавлена возможность перепостроения армий после каждого шага:
28 апр 2026, 02:28
28 апр 2026, 02:28
40d4dc5
Код
Авторство
О чём код?
using System.Collections.Generic; using System.Linq; using ArmyPlay.Helpers; using ArmyPlay.Interfaces; namespace ArmyPlay.Models.Formations { public class SingleQueueFormation : IFormationStrategy { public string Name => "Бой на мосту (1x1)"; public int FrontlineDepth => 1; public IEnumerable<(IUnit Attacker, IUnit Defender)> GetAttackPairs(IArmy attacker, IArmy defender) { var a = attacker.GetFirstAliveUnit(); var d = defender.GetFirstAliveUnit(); if (a != null && d != null) yield return (a, d); } public IEnumerable<IUnit> GetReserveUnits(IArmy army, IArmy opponent = null) => army.Units.Skip(FrontlineDepth).Where(u => u.IsAlive); public IEnumerable<IUnit> GetUnitsInRange(IArmy army, IUnit unit, int range) => FormationGeometryHelper.GetLinearNeighbors(army, unit, range); public void ResolveGaps(IArmy army) => army.RemoveDeadUnits(); } }