-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
48 lines (33 loc) · 1.64 KB
/
Program.cs
File metadata and controls
48 lines (33 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using PatternComposite.Composite;
using System;
namespace PatternComposite
{
internal class Program
{
static void Main(string[] args)
{
Group swordsmen = new Group();
Group archers = new Group();
swordsmen.Add(new Unit("Рыцарь", 100));
swordsmen.Add(new Unit("Солдат", 80));
swordsmen.Add(new Unit("Солдат", 80));
archers.Add(new Unit("Лучник", 60));
archers.Add(new Unit("Лучник", 60));
archers.Add(new Unit("Маг", 50));
Group army = new Group();
army.Add(swordsmen);
army.Add(archers);
Console.WriteLine($"Общее здоровье армии: {army.GetTotalHealth()}");
Console.WriteLine("\nНаносим 30 урона по всей армии:\n");
army.TakeDamage(30);
Console.WriteLine($"\nОбщее здоровье армии: {army.GetTotalHealth()}");
Console.WriteLine("\nНаносим 30 урона по отряду мечников:\n");
swordsmen.TakeDamage(30);
Console.WriteLine($"\nОбщее здоровье отряда: {swordsmen.GetTotalHealth()}");
Console.WriteLine("\nНаносим 30 урона по отряду лучников:\n");
archers.TakeDamage(30);
Console.WriteLine($"\nОбщее здоровье отряда: {archers.GetTotalHealth()}");
Console.WriteLine($"Общее здоровье армии: {army.GetTotalHealth()}");
}
}
}