码迷,mamicode.com
首页 > 其他好文 > 详细

codecombat之边远地区的森林12-22关及地牢39关代码分享

时间:2015-08-25 13:04:37      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:

codecombat中国游戏网址: http://www.codecombat.cn/
所有代码为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); 
    }
}

codecombat之边远地区的森林12-22关及地牢39关代码分享

标签:

原文地址:http://my.oschina.net/comA/blog/496557

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!