/// <summary> /// Standard constructor for initializing default items and defining Gear Slots. /// </summary> /// <param name="gearSlots">Represent the slots in which items can be put.</param> /// <param name="defaultDefenseItem">The default item for defense items, defaults to null.</param> /// <param name="defaultAttackItem">The default item for attack items, defaults to null.</param> /// <param name="defaultMiscItem">The default item for miscellaneous items, defaults to null.</param> public GearLoadOut(GearSlots gearSlots, IDefenseItem defaultDefenseItem, IAttackItem defaultAttackItem = null, IWearable defaultMiscItem = null) { //Loading default items _defaultDefenseItem = defaultDefenseItem; _defaultAttackItem = defaultAttackItem; _defaultMiscItem = defaultMiscItem; //Instantiating the object for keeping track of worn items DefenseItems = new Dictionary <string, IDefenseItem>(); AttackItems = new Dictionary <string, IAttackItem>(); MiscItems = new Dictionary <string, IWearable>(); //Adding worn item slots //Defense foreach (var slot in gearSlots.DefenseSlots) { DefenseItems.Add(slot, _defaultDefenseItem); } //Attack foreach (var slot in gearSlots.AttackSlots) { AttackItems.Add(slot, _defaultAttackItem); } //Miscellaneous foreach (var slot in gearSlots.MiscSlots) { MiscItems.Add(slot, _defaultMiscItem); } }
public override IResponse ReceiveHit(DamageResponse hit) { IDefenseItem defenseItem = PickDefenseItem(); DamageResponse defended = defenseItem.Defend(hit); int damageRoundedUp; if (defended.SuccessValue) { damageRoundedUp = Convert.ToInt32(Math.Ceiling(defended.Damage)); } else { return(new FailureResponse("A defense Item failed")); } if (damageRoundedUp > 0) { Hitpoints = Hitpoints - damageRoundedUp; if (Hitpoints == 0) { return(Death()); } return(new SuccessResponse($"{Name} of type {GetType().Name} took {damageRoundedUp} points of damage from {hit.Origin.Name}.")); } return(new SuccessResponse($"{Name} blocked the damage from {hit.Origin.Name}'s attack.")); }
//Los héroes podrán contar con dos elementos de defensa y uno de ataque public Heroe(string name, IAttackItem attackItem, IDefenseItem defenseItem, IDefenseItem defenseItem2) : base(name) { this.AttackItem = attackItem; this.DefenseItem = defenseItem; this.DefenseItem2 = defenseItem2; this.VictoryPoints = 0; }
public string UseDefenseItem(IDefenseItem item) { foreach (IItem I in this.Items) { if (I == item) { item1 = this.DefenseItem; this.DefenseItem = item; Items.Remove(item); Items.Add(item1); return($"{this.Name} ahora está usando {item}"); } else { return("Este personaje no contiene este item"); } } return(""); }
public Knight(string name, IAttackItem attackItem, IDefenseItem defenseItem, IDefenseItem defenseItem2) : base(name, attackItem, defenseItem, defenseItem2) { }
public BoarGearLoadOut(GearSlots gearSlots, IDefenseItem defaultDefenseItem = null, IAttackItem defaultAttackItem = null, IWearable defaultMiscItem = null) : base(gearSlots, defaultDefenseItem, defaultAttackItem, defaultMiscItem) { }
public Dwarf(string name, IAttackItem attackItem, IDefenseItem defenseItem, IDefenseItem defenseItem2) : base(name, attackItem, defenseItem, defenseItem2) { }
public HeavyPlayer(IAttackItem attackItem, IDefenseItem defenseItem) { _attackItem = attackItem; _defenseItem = defenseItem; }
public void Setup() { itemDefensa = new Armor(5); itemAtaque = new Axe(33); }
public LightPlayer(IAttackItem attackItem, IDefenseItem defenseItem) { _attackItem = attackItem; _defenseItem = defenseItem; }
public Demonio(string name, IAttackItem attackItem, IDefenseItem defenseItem) : base(name, attackItem, defenseItem) { }
public IPlayer CreatePlayer(IAttackItem attackItem, IDefenseItem defenseItem) => new HeavyPlayer(attackItem, defenseItem);
public DarkWizard(string name, IAttackItem attackItem, IDefenseItem defenseItem, IMagicItem magicItem) : base(name, attackItem, defenseItem) { this.MagicItem = magicItem; }
public Dragon(string name, IAttackItem attackItem, IDefenseItem defenseItem) : base(name, attackItem, defenseItem) { }
//Los héroes podrán contar con dos elementos de defensa y uno de ataque public Villano(string name, IAttackItem attackItem, IDefenseItem defenseItem) : base(name) { this.AttackItem = attackItem; this.DefenseItem = defenseItem; }