using System using System Collections Generic using System Text namesp

 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
using System;
using System.Collections.Generic;
using System.Text;
namespace Game
{
/// <summary>
/// Действия героя
/// </summary>
interface IHero
{
/// <summary>
/// Нанесение удара
/// </summary>
/// <param name="apponent">Аппонент которому наносится удар</param>
/// <returns>Возвращается аппонент с нанесенным ударом</returns>
Hero Strick(Hero apponent);
}
/// <summary>
/// Герой
/// </summary>
abstract class Hero : IHero
{
/// <summary>
/// Показатель здоровья
/// </summary>
private int halth;
abstract public int Halth { get; set; }
/// <summary>
/// Показатель маны
/// </summary>
private int mana;
abstract public int Mana { get; set; }
/// <summary>
/// Знания и навыки которые имеет герой
/// </summary>
private List<Noledge> heroNoledge;
abstract public List<Noledge> HeroNoledge { get; set; }
/// <summary>
/// Знания и навыки действующие в данный момент
/// </summary>
private List<Noledge> activeNoledge;
abstract public List<Noledge> ActiveNoledge { get; set; }
/// <summary>
/// Нанесение удара
/// </summary>
/// <param name="apponent">Аппонент которому наносится удар</param>
/// <returns>Возвращается аппонент с нанесенным ударом</returns>
abstract public Hero Strick(Hero apponent);
}
/// <summary>
/// Возможность героя
/// </summary>
abstract class Noledge
{
#region Незнаю нужно ли???
/// <summary>
/// Определяет на кого применено знание
/// </summary>
private int onYourself;
abstract public int OnYourself { get; set; }
#endregion
/// <summary>
/// Название навыка
/// </summary>
private int name;
abstract public int Name { get; set; }
/// <summary>
/// Тип навыка
/// <example>(Огонь,Вода,Хак)</example>
/// </summary>
private TypesOfNoledge noledgeType;
abstract public TypesOfNoledge NoledgeType { get; set; }
/// <summary>
/// Размер наносимого ущерба если положительный то защита, если отрицательный то атака
/// </summary>
private int value;
abstract public int Value { get; set; }
/// <summary>
/// Промежуток времени активности навыка.
/// <example>Если навык защита от огня работает 10 раундов значение равно 10, если все время значение -1 и если это удар огнем "разовый" равно 0</example>
/// </summary>
private int activeTime;
abstract public int ActiveTime { get; set; }
}
/// <summary>
/// Типы возможностей героя
/// </summary>
enum TypesOfNoledge
{
/// <summary>
/// Огненый удар
/// </summary>
FireBoll = 0
}
}