Function 将对象从函数工厂推送到数组中
我制作了两个功能工厂,一个是僵尸工厂,一个是人类工厂。我想有一个函数,它可以区分僵尸的总生命值和人类的总攻击值。它每一个都能工作,但我无法思考如何做多人对抗僵尸。我已经尝试将人类对象推到一个数组中,这样我就可以对所有攻击进行合计(我会对僵尸重复),但是运气不好Function 将对象从函数工厂推送到数组中,function,object,factory,Function,Object,Factory,我制作了两个功能工厂,一个是僵尸工厂,一个是人类工厂。我想有一个函数,它可以区分僵尸的总生命值和人类的总攻击值。它每一个都能工作,但我无法思考如何做多人对抗僵尸。我已经尝试将人类对象推到一个数组中,这样我就可以对所有攻击进行合计(我会对僵尸重复),但是运气不好 //Create a Human spawning object var humanArr = []; const humanSpawns = (attack) => { let human = { atta
//Create a Human spawning object
var humanArr = [];
const humanSpawns = (attack) => {
let human = {
attack: attack
};
humanArr.push(human);
};
//Create a Zombie spawning object
const zombieSpawns = (health) => {
return {
health: health
}
};
//Create function to have humans and zombies fight
function fight() {
var result = humanOne.attack - zombieOne.health;
if(result > 0) {
document.write('Live to see another day.');
} else {
document.write('The zombies are taking over!');
}
}
const zombieOne = zombieSpawns(12);
const humanOne = humanSpawns(11);
fight();
尝试一些类似于我的代码片段的东西,您真正需要的是创建单位的方法。 我使用的是普通物体,但是如果你想返回
伤亡者
比方说,你需要返回每个主要物体的类人
阵列,并在战斗中根据来袭的伤害来拼接它们。别紧张,你会看到你的军队在战斗
我追求的逻辑:
createHumanoid
(应该将其重命名为createArmy)
1.2createHumanoid
将帮助设置部队的一些属性,以及他们中有多少人将在我的军队中军队
数组,我将使用createHumanoid创建我的军队
getArmyPower
,它返回军队的名称和power
,这将在4.2中使用。
陆军
,第二个参数是偏好陆军
4.2。使用该方法,我将getArmyPower
应用于我的每个军队(阵列元素),以了解他们的力量
4.3。然后我用army.power
4.4<代码>让胜利=军队[0]将从排序数组中获取第一个元素。权力最高的那个。或者你可以像让[胜利]=军队那样使用和编写它代码>(表示数组中的第一个元素)
4.5。我将胜利的.name
与最喜欢的军队
进行比较,以检查我感兴趣的军队是赢了还是输了
/**
*创建单位的函数
*/
const createHumanoid=(种族、人数、统计数据)=>{
返回{
名称:种族,,
军人:有多少人,
单位统计:统计
}
};
/**
*登记军队参战
*/
让军队=[
createHumanoid(“人类”),12{
卫生:10,
攻击:12
}),
createHumanoid('僵尸',5{
健康:30岁,
攻击:12
}),
]
/**
*获得每支军队的最大力量-你可以调整算法
*/
const getArmyPower=(陆军)=>{
返回{
姓名:army.name,
力量:+army.armySize*(+army.unitStats.health++army.unitStats.attack)
}
}
/**
*让他们战斗,看看你最喜欢的军队在战斗中做了什么
*/
职能作战(军队、部队){
军队
.map(陆军=>getArmyPower(陆军))
.sort((a,b)=>b.power-a.power);
让胜利=军队[0];
if(victorious.name.toLowerCase()==favoriteArmy.toLowerCase()){
记录。写(‘活着看到另一天’);
}否则{
document.write('zombies正在接管!');
}
}
战斗(军队,“人类”)代码>尝试类似于我的代码片段的方法,您真正需要的是创建单元的方法。
我使用的是普通物体,但是如果你想返回伤亡者
比方说,你需要返回每个主要物体的类人
阵列,并在战斗中根据来袭的伤害来拼接它们。别紧张,你会看到你的军队在战斗
我追求的逻辑:
我需要一支军队强>
1.1。要创建一支军队,首先我需要一些单位,所以我构建了createHumanoid
(应该将其重命名为createArmy)
1.2createHumanoid
将帮助设置部队的一些属性,以及他们中有多少人将在我的军队中
创建一个军队
数组,我将使用createHumanoid创建我的军队
我需要知道军队有多强大,所以我构建了getArmyPower
,它返回军队的名称和power
,这将在4.2中使用。
战斗开始了!(favoriteArmy=‘人类’)
4.1<代码>战斗
方法正在创建中,并采用两个参数,第一个参数是陆军
,第二个参数是偏好陆军
4.2。使用该方法,我将getArmyPower
应用于我的每个军队(阵列元素),以了解他们的力量
4.3。然后我用army.power
4.4<代码>让胜利=军队[0]将从排序数组中获取第一个元素。权力最高的那个。或者你可以像让[胜利]=军队那样使用和编写它代码>(表示数组中的第一个元素)
4.5。我将胜利的.name
与最喜欢的军队
进行比较,以检查我感兴趣的军队是赢了还是输了
/**
*创建单位的函数
*/
const createHumanoid=(种族、人数、统计数据)=>{
返回{
名称:种族,,
军人:有多少人,
单位统计:统计
}
};
/**
*登记军队参战
*/
让军队=[
createHumanoid(“人类”),12{
卫生:10,
攻击:12
}),
createHumanoid('僵尸',5{
健康:30岁,
攻击:12
}),
]
/**
*获得每支军队的最大力量-你可以调整算法
*/
const getArmyPower=(陆军)=>{
返回{
姓名:army.name,
力量:+army.armySize*(+army.unitStats.health++army.unitStats.attack)
}
}
/**
*让他们战斗,看看你最喜欢的军队在战斗中做了什么
*/
职能战斗(军队、人情)