Does anyone know what is wrong with the following code?
My character just stands there without an error sign
menacingly
// You have one arrow. Make it count!
// This should return the enemy with the most health.
function findStrongestEnemy(enemies) {
var strongest = null;
var strongestHealth = 0;
var enemyIndex = 0;
// While enemyIndex is less than the length of enemies:
while (enemies > enemyIndex) {
// Set an enemy variable to enemies[enemyIndex]
var enemy = enemies[enemyIndex];
// If enemy.health is greater than strongestHealth
if (enemy.health > strongestHealth) {
// Set `strongest` to enemy
// Set strongestHealth to enemy.health
strongest = enemy;
strongestHealth = enemy.health;
}
// Increment enemyIndex
enemyIndex ++;
}
return strongest;
}
var enemies = hero.findEnemies();
var leader = findStrongestEnemy(enemies);
if (leader) {
hero.say(leader);
}
Have a closer look at the comment:
// While enemyIndex is less than the length of enemies:
I made the change but no dice. Any other things you might see that could be causing this?
There were actually two issues with your while statement…less than and length
Actually, I just tested with your code and the order you have the statements will work with >. Post your while statement again please.
1 Like
Matters no more, as the length was the problem. Thanks!
1 Like
help me pls.Code:
// You have one arrow. Make it count!
// This should return the enemy with the most health.
function findStrongestEnemy(enemies) {
var strongest = null;
var strongestHealth = 0;
var enemyIndex = 0;
var enemy = hero.findNearestEnemy();
// While enemyIndex is less than the length of enemies:
while (enemyIndex < enemies.length){
// Set an enemy variable to enemies[enemyIndex]
var x = enemies[enemyIndex];
// If enemy.health is greater than strongestHealth
if (enemy.health > strongestHealth){
// Set `strongest` to enemy
strongest = enemy;
// Set strongestHealth to enemy.health
strongestHealth = enemy.health;
}
// Increment enemyIndex
enemyIndex++;
return strongest;
}
}
var enemies = hero.findEnemies();
var leader = findStrongestEnemy(enemies);
if (leader) {
hero.say(leader);
}
I kill the leader, but the hero will die and then say that I failed.