static void Main(string[] args) { var sorcerer = new Sorcerer(new ElementsImmunityPoisonVulnerability()); var knight = new Knight(new DefoultHitBehavior()); var ogre = new Ogre(new DefoultHitBehavior()); sorcerer.EquipWeapon(new Firebolt()); knight.EquipWeapon(new Sword()); ogre.EquipWeapon(new Club()); Fight(sorcerer, ogre); Console.WriteLine(); Console.ReadKey(); }