/
puma
/
ppa
Обзор
Документация
Войти
/
puma
/
ppa
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Core/ArmyDisplayManager.cs
73 строки
3 KB
Margarita
lalalala
28 май 2026, 21:26
28 май 2026, 21:26
b0e45cf
Код
Авторство
О чём код?
using System; using System.Collections.Generic; using System.Linq; public class ArmyDisplayManager { public void ShowArmyInfo(Player player) { if (player.Army == null) { Console.WriteLine("Армия не создана"); return; } Console.WriteLine(new string('=', 63)); Console.WriteLine($"АРМИЯ {player.Name?.ToUpper()}"); Console.WriteLine(new string('=', 63)); Console.WriteLine($"Общая стоимость: {player.Army.Units.Sum(u => u.Cost)}"); Console.WriteLine($"Количество юнитов: {player.Army.Units.Count}\n"); PrintUnitTable(player.Army.Units); } public void DisplayArmies(Player player1, Player player2) { Console.WriteLine(new string('=', 63)); Console.WriteLine($"АРМИЯ {player1.Name?.ToUpper()}"); Console.WriteLine(new string('=', 63)); if (player1.Army != null) { Console.WriteLine($"Общая стоимость: {player1.Army.Units.Sum(u => u.Cost)}"); Console.WriteLine($"Количество юнитов: {player1.Army.Units.Count}\n"); PrintUnitTable(player1.Army.Units); } Console.WriteLine("\n" + new string('=', 63)); Console.WriteLine($"АРМИЯ {player2.Name?.ToUpper()}"); Console.WriteLine(new string('=', 63)); if (player2.Army != null) { Console.WriteLine($"Общая стоимость: {player2.Army.Units.Sum(u => u.Cost)}"); Console.WriteLine($"Количество юнитов: {player2.Army.Units.Count}\n"); PrintUnitTable(player2.Army.Units); } Console.WriteLine(new string('=', 63) + "\n"); } public static void PrintUnitTable(List<IUnit> units, bool includeAbilityFields = true) { Console.WriteLine(new string('=', 125)); Console.WriteLine(includeAbilityFields ? "№ Имя Атака Защита Здоровье Стоимость Дальность Сила Стрелы Сила Лечения Вер. Клона" : "№ Имя Атака Защита Здоровье Стоимость"); Console.WriteLine(new string('-', 124)); for (int i = 0; i < units.Count; i++) { var u = units[i]; if (includeAbilityFields && u.SpecialAbility is ArrowAbility arrow) Console.WriteLine($"{i + 1,-3}{u.Name,-16}{u.Attack,-7}{u.Defense,-8}{u.MaxHealth,-10}{u.Cost,-11}{arrow.Range,-11}{arrow.Power,-12}{"-",-13}"); else if (includeAbilityFields && u.SpecialAbility is HealAbility heal) Console.WriteLine($"{i + 1,-3}{u.Name,-16}{u.Attack,-7}{u.Defense,-8}{u.MaxHealth,-10}{u.Cost,-11}{heal.Range,-11}{"-",-12}{heal.HealPower,-13}"); else if (includeAbilityFields && u.SpecialAbility is CloneAbility clone) Console.WriteLine($"{i + 1,-3}{u.Name,-16}{u.Attack,-7}{u.Defense,-8}{u.MaxHealth,-10}{u.Cost,-11}{clone.Range,-11}{"-",-12}{"-",-13}{clone.CloneProbability}%"); else Console.WriteLine($"{i + 1,-3}{u.Name,-16}{u.Attack,-7}{u.Defense,-8}{u.MaxHealth,-10}{u.Cost}"); } Console.WriteLine(new string('=', 125)); } }