//Далее реализуются все методы интерфейса
        
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();
        }
    }
}