Я пытаюсь создать серию объектов, которые представляют персонажей в игре.Каждый объект должен иметь доступ к набору методов класса, представляющих основные неуникальные действия, которые может выполнять каждый персонаж (бегать, сражаться, защищаться и т. Д.).Каждое действие должно иметь доступ к значениям в каждом объекте, таким как имя персонажа, возраст или оружие.Я знаю, что могу инициализировать каждый объект с помощью своих собственных методов для доступа к экземплярам объекта, но для базовых команд, которые каждый символ совместно использует, должен быть более эффективный способ сделать это.
//create character object
var Character = new Character(name, age, weapon, armor, item);
//initialize instances of character object
function Character(name, age, weapon, armor, item) {
this.name = name;
this.age = age;
this.weapon = weapon;
this.armor = armor;
this.item = item;
};
//create new characters from character object model
var knight = new Character(Shawn, 29, Broadsword, ChestPlate,
HealthPotion);
var mage = new Character(Jessica, 28, Staff, Robe, ManaPotion);
var thief = new Character(Cody, 28, Knife, Vest, HealthPotion);
//create class methods
Character.prototype.attack = function(name, weapon) {
alert(this.name + " " + "attacked using their" + " " +
this.weapon + "!");
}
Character.prototype.defend = function(name) {
alert(this.name + " " + "holds their defenses!");
}
Character.prototype.useItem = function(name, item) {
alert(this.name + " " + "used" + " " + this.item + "!");
}
Character.prototype.run = function(name) {
alert(this.name + " " + "has fled the battle");
}
attack(knight);
, когда атака ничего не вызываетслучается.