Protect and Server javascript[solved]

// Protect the workers and animals!

// Defend these two positions:
var defend = [];
defend[0] = { x: 98, y: 28 };
defend[1] = { x: 84, y: 7 };

var soldiers = [];

var friends = hero.findFriends();
for(var i=0; i < friends.length; i++) {
    var friend = friends[i];
    if(friend.type == "soldier") {
        soldiers.push(friend);
    } else {
        // Defend the workers:
        defend.push(friend);
    }
}

while(true) {
    // Use a for-loop to assign each soldier to a corresponding defend[] target
    // Use command(soldier, "defend", thang) or command(soldier, "defend", position)
    for(var a = 0; a > soldiers.length; a++) {
        var soldier = soldiers[a];
        if (soldier) {
            hero.command(soldier, "defend", defend[friends.length]);
        }
    }
    var enemy = hero.findNearestEnemy();
    if (enemy) {
        hero.attack(enemy);
    }
}

struggling at the command soldier part and for loops part could someone explain me what wrong with my code

maybe you can try instead append for those two

and here not so sure about js but i think the sign should be the opposite

i confuse what should i defend
the defend part i take it from some post

u should use the index a of defend array

ok i try that 20 character

still not working 20 char

code? (20characters)

// Protect the workers and animals!

// Defend these two positions:
var defend = [];
defend[0] = { x: 98, y: 28 };
defend[1] = { x: 84, y: 7 };

var soldiers = [];

var friends = hero.findFriends();
for(var i=0; i < friends.length; i++) {
    var friend = friends[i];
    if(friend.type == "soldier") {
        soldiers.push(friend);
    } else {
        // Defend the workers:
        defend.push(friend);
    }
}

while(true) {
    // Use a for-loop to assign each soldier to a corresponding defend[] target
    // Use command(soldier, "defend", thang) or command(soldier, "defend", position)
    for(var a = 0; a > soldiers.length; a++) {
        var soldier = soldiers[a];
        if (soldier) {
            hero.command(soldier, "defend", defend[a]);
        }
    }
    var enemy = hero.findNearestEnemy();
    if (enemy) {
        hero.attack(enemy);
    }
}

fix this ( 20 chars )

2 Likes

it works! thanks so much @Aya

2 Likes

You’re welcome (20chars)

This topic was automatically closed 12 hours after the last reply. New replies are no longer allowed.