全部代码为javascript代码分享


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


12、兽人营地


// 假设有敌人。则攻击之

// 假设没有敌人,则攻击財宝箱

loop {

    // 使用if/else语句

    var enemy = this.findNearestEnemy();

    if (enemy) {

        this.attack(enemy);

    }

    else {

        this.attack("Chest");

    }

}


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


13、强攻 Areth 塔


this.moveXY(55, 14);

this.moveXY(92, 9);

// 在红色的 X 位置建造一个火焰陷阱

// 撤退到木的 X 位置。来避免伤害。

// 等雇佣兵发现闪亮的火焰陷阱

// 进入营地。放置火焰陷阱在红色的 X 位置

// 冲你的部队喊撤退(提示:使用 say 命令, "Retreat!")

// 逃回到左边的木的 X 位置

this.buildXY("fire-trap", 94, 19);

this.moveXY(79, 6);

this.moveXY(55, 9);

this.moveXY(79, 6);

this.moveXY(90, 53);

this.buildXY("fire-trap", 90, 53);

this.moveXY(60, 63);

this.buildXY("fire-trap", 60, 63);

this.moveXY(83, 56);

this.say("Retreat");

this.moveXY(79, 6);

this.moveXY(55, 14);

this.moveXY(11, 28);


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


14、森林劈裂者


// 尽可能常常使用你的新技能“cleave”

this.moveXY(23, 23);

loop {

    var enemy = this.findNearestEnemy();

    if (this.isReady("cleave")) {

        // “Cleave”掉敌人。

        this.cleave(enemy);

    }

    else {

        // 否则(假设“cleave”还没准备好),就用你的普通攻击

        this.attack(enemy);

    }

}


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


15、盾击


// 用shield盾牌和cleave顺势斩在两波进攻中活下来

// 假设cleave顺势斩没有准备好,就用你的shield盾牌技能。

// 你将会须要至少142健康值来保证活下来

loop {

    var enemy = this.findNearestEnemy();

    if (this.isReady("cleave")) {

        this.cleave(enemy);

    }

    else {

        this.shield();   

    }

}


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


16、竞技场



// 在决斗中击败敌人的英雄。

loop {

    // 在一个循环中找到并攻击敌人

    // 当你完毕的时候,提交到多人天梯系统中!

    var enemy = this.findNearestEnemy();

    if (enemy) {

        if (this.isReady("cleave")) {

            this.cleave(enemy);

        }

        else {

            this.attack(enemy);

        }

    }

    else {

        this.say("Hi Guy ! Come here !");

    }

}


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


17、保护农民


loop {

    var enemy = this.findNearestEnemy();

    var distance = this.distanceTo(enemy);

    if (distance < 10) {

        // 假设他们与农民太近,就攻击他们

        if (this.isReady("cleave")) {

            this.cleave(enemy);

        }

        else {

            this.attack(enemy);

        }

    }

    // 否则的话。呆在农民旁边!

    else {

        this.moveXY(40, 37);

    }

}


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


18、奥法盟友


// 拿下那些兽人

//注意提升装备

loop {

    var enemy = this.findNearestEnemy();

    if (enemy) {

        this.attack(enemy);

    }

}


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


19、收割小食人魔


// 铲除全部遗留的小食人魔

// 确保你有足够的护甲。

loop {

    var enemy = this.findNearestEnemy();

    if (enemy) {

        if (this.isReady("cleave")) {

            this.cleave(enemy);

        }

        else {

            this.attack(enemy);          

        }

    }

}


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


20、測距仪


var enemy1 = "Gort";

var enemy2 = "Smasher";

var enemy3 = "Charles";

var enemy4 = "Gorgnub";

var distance1 = this.distanceTo(enemy1);

this.say(distance1);

// 大炮会毁掉 Gort!

// 找到另外两个食人魔的距离

var distance2 = this.distanceTo(enemy2);

this.say(distance2);

var distance3 = this.distanceTo(enemy4);

this.say(distance3);

// 说出距离,下指令开炮。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


21、一大群小食人魔


loop {

    // 检查与近期敌人的距离

    var enemy = this.findNearestEnemy();

    var distance = this.distanceTo(enemy);

    // 假设它接近到10m以内,cleave掉它!

    if (distance < 10) {

        if (this.isReady("cleave")) {

            this.cleave(enemy);

        }

        else {

           this.attack(enemy);

        }

    }

    // 否则,通过名字攻击宝箱(“Chest”)

    else {

        this.attack("Chest");

    }

}


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


22、移动中的精巧


// 你能够将一个if语句放到还有一个if语句其中。

// 可是。这样语句会变得非常复杂。因此你必须注意这些if语句是怎样互相影响的。

// 用凝视来描写叙述你的代码逻辑

// 在一个if/else语句中,对其里面的if/else进行凝视将会非常有帮助。例如以下所看到的:

loop {

    var enemy = this.findNearestEnemy();

    // 假设这是一名敌人,就...

    if(enemy) {

        // 声明一个名为distanceTo的变量来代表距离

        var distance = this.distanceTo(enemy);

        // 假设这名敌人小于5米的距离。那么attack()

        if (distance < 5) {

            this.attack(enemy);

        }

        // 否则(这名敌人还离非常远),就shield()

        else {

            this.shield();

        }

    // 否则(没有敌人...)

    } 

    else {

        // ...回到位置X

        this.moveXY(40, 34);

    }

}


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


番外篇:地牢39关~Kithgard斗殴


No、1

// 在一波波的食人魔攻击中活下来。

// 假设你赢了,本关会变得更难,但给很多其它的奖励。

// 假设你输了,你必须等一天之后才干又一次提交。

// 每次提交都会获得新的随机种子。

loop {

    var enemy = this.findNearestEnemy();

    if (enemy) {

        this.attack(enemy);

    }

}


No、2

//假设你的装备足够好

// 在一波波的食人魔攻击中活下来。

// 假设你赢了,本关会变得更难,但给很多其它的奖励。

// 假设你输了,你必须等一天之后才干又一次提交。

// 每次提交都会获得新的随机种子。

loop {

    var enemy = this.findNearestEnemy();

    if (enemy) {

        if (this.isReady("cleave")) {

        this.cleave(enemy);

        }

        else {

            if (this.isReady("bash")) {

                this.bash(enemy);

            }

            else {

                this.attack(enemy); 

            }

        }

    }

    var item = this.findNearestItem();

    if (item) {

        var pos = item.pos;

        var x = pos.x;

        var y = pos.y;

        this.moveXY(x, y); 

    }

}