边缘地区的森林

一、森林保卫战代码:

// 建立两个围栏保护村民
// 把鼠标放在地图上得到X,Y坐标
hero.buildXY("fence", 40, 52);
hero.buildXY("fence", 40, 21);

二、羊肠小道:

// 到小路的尽头去,并在那儿修一个栅栏。
// 利用你的 moveXY(x, y)坐标移动功能。


// It's the first point of the path.
hero.moveXY(36, 59);
// Move at the next points of the path.
hero.moveXY(37, 13);
// Build a fence to stop the ogre.
hero.buildXY("fence", 72, 25);
hero.moveXY(79, 18);

三、丛林里的间隔:

hero.moveXY(19, 33);
var enemy = hero.findNearestEnemy();
// 条件判断式将会检查该变数是否参考到一个ogre
if(enemy) {
    hero.attack(enemy);
    hero.attack(enemy);
}
hero.moveXY(49, 51);
var enemy = hero.findNearestEnemy();
if(enemy) {
    // 在这里撰写攻击敌人指令
    hero.attack(enemy);
    hero.attack(enemy);
}
hero.moveXY(58, 14);
var enemy = hero.findNearestEnemy();
// 使用条件判断式来确认敌人是否存在
    // 如果敌人存在就攻击他
    if(enemy){
        hero.attack(enemy);
        hero.attack(enemy);
}

四、IF-STRAVAGANZA

// Defeat the ogres from within their own camp!


while(true) {
    var enemy = hero.findNearestEnemy();
    // 使用一个 “if” 语句去检查是否有敌人存在:
    if(enemy){
        hero.attack(enemy);
        hero.attack(enemy);
    }
        // Attack the enemy if it exists:
}

五、背靠背

// 呆在中间防守!


while(true) {
    var enemy = hero.findNearestEnemy();
    if (enemy) {
        // 亦或主动出击...
        hero.attack(enemy);
        hero.attack(enemy);
    }
    else {
        // 亦或回到你的阵地防守。
        hero.moveXY(40, 34);
    }
}

六、森林劈裂者

hero.moveXY(23, 23);
while(true) {
    var enemy = hero.findNearestEnemy();
    if (hero.isReady("cleave")) {
        // “Cleave”掉敌人!
        hero.cleave(enemy);
    }
    else {
        // 否则(如果“cleave”还没准备好),就用你的普通攻击
        hero.attack(enemy);
        hero.attack(enemy);
    }
}

七、边缘地区的对峙

// 这些曼切堪食人魔害怕英雄!
// 说些什么,他们会吓得往后退。
// 但是,有足够的曼切堪食人魔,他们将联合起来伏击你!小心!
// 每当`cleave`(横劈)冷却时间完成,立即用它清除敌人。
var enemy = hero.findNearestEnemy;
while(true) {
    // 使用 ‘isReady’ 中的一个 “if-statement” 的语句来检查 “cleave”
    if(hero.isReady("cleave")){
        // 劈斩!
        hero.cleave(enemy);
    // 或者,如果 cleave 还没准备好的话:
    } else {
        // 说一点什么来吓走曼切堪食人魔
        hero.say("Boo");
    }
}

八、测距仪

// 瘦人正在森林里头巡逻!
// 使用distanceTo方法来计算敌人与英雄间的距离
// 说出每个敌人和英雄间的距离以告知大砲要轰炸哪里


var enemy1 = "Gort";
var distance1 = hero.distanceTo(enemy1);
hero.say(distance1);


var enemy2 = "Smasher";
var distance2 = hero.distanceTo(enemy2);
// 将distance2变数作为参数,传入say()方法
hero.say(distance2);
// 测量并说出剩余敌人与英雄间的距离
// 不要向你的友军进行射击!


var enemy4 = "Gorgnub";
var distance4 = hero.distanceTo(enemy4);
hero.say(distance4);

九、保护农民

while(true) {
    var enemy = hero.findNearestEnemy();
    var distance = hero.distanceTo(enemy);
    if (distance < 10) {
        // 如果他们与农民太近,就攻击他们
        hero.attack(enemy);
        hero.attack(enemy);
    }
    // 否则的话,呆在农民旁边!
    hero.moveXY(40, 38);
}

十、疯狂的食人魔

// 地上另一个让英雄打开的宝箱!
// 攻击宝箱以打开它
// 有些食人魔可不会呆呆地站着挨打!
// 当食人魔离你太近时,你得学着保护你自己


while(true) {
    var enemy = hero.findNearestEnemy();
    var distance = hero.distanceTo(enemy);
    if(hero.isReady("cleave")) {
        // 首先,定期使用旋风斩(cleave)当技能就绪的时候:
        hero.cleave(enemy);
    } else if(distance < 5) {
        // 攻击靠近并离你最近的食人魔
        hero.attack(enemy);
    } else {
        // 否则,试着打破宝箱看看:
        hero.attack("Chest");
    }
}