 # Power points [SOLVED]

#1

hello. my code seems to work however its giving me an error when i run it, any help will be greatly appreciated.

``````// You need to find and destroy 3 skeletons.
// Skeletons and items are summoned at points of power.
// Move to a point and say the spell: "VENI".
// To find the required points, use the wizard's map.
// 0s are bad points. Positive numbers are good.

var spell = "VENI";
// The map of points is a 2D array of numbers.
var wizard = hero.findNearest(hero.findFriends());
var powerMap = wizard.powerMap;

// This function converts grid into x-y coordinates.
function convert(row, col) {
return {x: 16 + col * 12, y: 16 + row * 12};
}

// Loop through the powerMap to find positive numbers.
// First, loop through indexes of rows.
for (var i = 0; i < powerMap.length; i++) {
// Each row is an array. Iterate through it.
for (var j = 0; j < powerMap[i].length; j++) {
// Get the value of the i row and j column.
var pointValue = powerMap[i][j];

// If it's a positive number:
if (pointValue > 0){
// Use convert to get XY coordinates.
var pos= convert(i,j);
// Move there, say "VENI" and be prepared!
hero.moveXY(pos.x, pos.y);
hero.say(spell);
var enemies = hero.findEnemies();
for (var k = 0 ; enemies.length; k++){
var enemy = enemies[k];
hero.attack(enemy);
}
}
}
}
``````

here’s the error my code is giving me.

#2

If you run out of enemies, you don’t have a target to attack. An if statement just before `hero.attack(enemy)` just to make sure there is an enemy should clear it up.

#3

that worked. thanks!