好的我在Javascript中有一个简单的for循环,它会创建一个数组,我需要这样做,这样我就可以交换它们来创建随机位置。但无论如何这里是代码
var aliveMonsters = [];
var deadMonsters = 0;
for( var i = 0; i < monsterAmount; i++ )
{
if( monsters[i].hp > 0 )
{
var place = i - deadMonsters;
var placed = i - deadMonsters;
aliveMonsters[place] = placed;
}
else
{
deadMonsters -= 1;
}
//console.log(i);
}
console.log(aliveMonsters);
当所有3个怪物都还活着时,它会被打印出来
[0, 1, 2]
哪个是正确的,但是当其中一个死亡(0,1或甚至2)时,数组就变成了这个
[0, 3: 3]
每次玩家移动时都会调用此代码,并且在怪物死亡(HP设置为0)之前它会正常工作。有人能看出为什么会这样吗?
这是一张图片,不用担心显示未定义的数组。
答案 0 :(得分:0)
使用deadMonsters + = 1更正了错误