【发布时间】:2016-04-29 13:11:58
【问题描述】:
我有一个 Equipment 父类,它接受 args 和两个孩子 Weapon 和 Armor,它们也接受 args。我不确定是否有针对原型的特殊方法,或者我的代码是否真的不起作用,但这里是 shortened DEMO
我需要根据其他变量的值以及使用随机数的算法来创建用于每个对象中的参数的变量。每个项目都是独一无二的,所以我需要在制造武器伤害的同时为装备制造 hp,我不知道该怎么做。
function Equipment(hp) {
var self = this;
this.hp = hp;
}
//create subclass for weapons
function Weapon(baseDam) {
var self = this;
this.baseDam = baseDam;
}
function generateEquipment() {
hp = Math.round(Math.random() * 10);
baseDam = Math.round(Math.random() * 50);
Weapon.prototype = new Equipment(hp);
weapon = new Weapon(baseDam);
stringed = JSON.stringify(weapon);
alert(stringed);
}
generateEquipment();
【问题讨论】:
-
能否请您多说一下您真正想要实现的目标?
-
我编辑了我的问题,希望澄清
-
越来越近 :) 如果方法称为“generateEquipment”,我不明白您为什么返回“武器”。您是否打算在此功能中创建其他“设备”?
-
@lipp 在游戏中是的,每次访问商店都会生成 6 件带有随机变量的装备。它有大约 35% 的机会成为武器,否则它将成为盔甲。
标签: javascript oop object inheritance