Not sure what I’m missing here.
function findMostHealth(enemies) {
var target = null;
var targetHealth = 0;
var enemyIndex = 0;
while(enemyIndex < enemies.length) {
var enemy = enemies[enemyIndex];
if(enemy.health > targetHealth) {
target = enemy;
targetHealth = enemy.health;
}
enemyIndex += 1;
}
return target;
}
function valueOverDistance(item) {
return item.value / hero.distanceTo(item);
}
function findBestItem(items) {
var bestItem = null;
var bestValue = 0;
var itemsIndex = 0;
while(itemsIndex < items.length) {
var item = items[itemsIndex];
if (bestValue < valueOverDistance(item)) {
bestValue = valueOverDistance(item);
bestItem = item;
}
itemsIndex++;
}
return bestItem;
}
while(true) {
var enemies = hero.findEnemies();
var enemy = findMostHealth(enemies);
if(enemy && enemy.health > 15) {
while(enemy.health > 0) {
hero.attack(enemy);
}
} else {
var coins = hero.findItems();
var coin = null;
coin = findBestItem(coins);
if(coin) {
hero.move(coin.pos);
}
}
}