//Далее реализуются все методы интерфейса
public
void
Draw()
{
Console.WriteLine("Здесь
был
монстр
"
+ name); }
public
int
Attack(int
a)
{
ammo
-= a;
if
(ammo > 0) Console.WriteLine("ба-бах!");
else
ammo = 0;
return
ammo;
}
public
void
Die()
{
Console.WriteLine("Монстр
"
+ name + "умер");
health = 0; }
public
int
Power
{
get
{ return
ammo * health; }
}
string
name;
int
health, ammo;
}
class
Program
{
static
void
Main(string[]
args)
{
Monster
Вася
= new
Monster(50,
50, "Вася
как
класс
");
Вася.Draw();
IAction
IВася
= new
Monster(10,
10, "Вася
как
интерфейс
");
IВася.Draw();
Вася.Passport();
((Monster)IВася).Passport();
IВася.Attack(10);
Вася.Attack(20);
Console.WriteLine("У
монстра
"+
Вася.Name+
"сила
равна
"+Convert.ToString
(((IAction)Вася).Power));
Console.WriteLine("У
монстра
"
+ ((Monster)IВася).Name
+ "сила
равна
"
+ Convert.ToString(IВася.Power));
if
(Вася.Ammo
<= 0) Вася.Die();
if
(((Monster)IВася).Ammo
<= 0) IВася.Die();
Console.ReadLine();
}
}
}