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

codecombat之边远地区的森林23-30关及地牢40\41关代码分享

时间:2015-08-26 22:30:58      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:codecombat

codecombat中国游戏网址:http://www.codecombat.cn/
所有代码为javascript代码分享

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

23、Agrippa防守

loop {
    var enemy = this.findNearestEnemy();
    if(enemy) {
        // 用 distanceTo 获取与敌人的距离。
        var distance = this.distanceTo(enemy);
        // 如果距离小于5米...
        if (distance < 5) {
            if (this.isReady("cleave")) {
            // ...如果 “cleave”技能准备好了,就“cleave”掉他们!
                this.cleave(enemy);
            }
            else {
                this.attack(enemy);
            // ...否则,仅仅进行普通攻击。
            }
        } 
    }
}

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

24、收集金币

// 当你放好旗帜后点提交.
// 点击提交后,旗帜按钮出现在左下角. 
loop {
    var flag = this.findFlag();
    if (flag) {
        this.pickUpFlag(flag);
    }
    else {
        this.say("为英雄放置一面旗帜来移动.");
    }
}

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

25、金币草地

// 收集每片草地的所有金币。
// 使用旗子在草地间移动。
// 当你准备好放置旗子时点击“提交”

loop {
    var flag = this.findFlag();
    if (flag) {
        // 捡起旗子。
        this.pickUpFlag(flag);
    } else {
        // 自动移动到你能看见的最近的物品。
        var item = this.findNearestItem();
        if (item) {
            var position = item.pos;
            var x = position.x;
            var y = position.y;
            this.moveXY(x, y);
        }
    }
}

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

26、坚持通过森林


// 使用旗子加入战斗或者撤退。
// If you fail, press Submit again for new random enemies and try again!
// You‘ll want at least 300 health, if not more.
loop {
    var enemy = this.findNearestEnemy();
    var flag = this.findFlag();
    if(flag) {
        // 捡起旗子。
        this.pickUpFlag(flag);
    } else if (enemy) {
        // 打!
        if (this.isReady("cleave")) {
            this.cleave(enemy);
        }
        else {
            this.attack(enemy);
        }
    }
}

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

27、插旗子

// 在你想要建造陷阱的位置插旗
// 当你没有在建造陷阱的时候,收集金币!

loop {
    var flag = this.findFlag();
    if (flag) {
        // 我们该如何通过旗子的位置得到 fx 和 fy 呢?
        // (向下看如何得到物品的 x 和 y)
        var flagpos = flag.pos ;
        var fx = flagpos.x ;
        var fy = flagpos.y ;
        this.buildXY("fire-trap", fx, fy);
        this.pickUpFlag(flag);
    }
    else {
        var item = this.findNearestItem();
        if (item) {
            var itemPos = item.pos;
            var itemX = itemPos.x;
            var itemY = itemPos.y;
            this.moveXY(itemX, itemY);
        }
    }
}

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

28、丰富的觅食

// 使用 if 和 else if 来处理任何情况
// 放置它来防御敌人,收集金币
// 确保你从物品商店买到伟大的盔甲,建议400点以上的健康。

loop {
    var flag = this.findFlag();
    var enemy = this.findNearestEnemy();
    var item = this.findNearestItem();

    if (flag) {
        // 当我发现旗子的时候发生了什么?
        this.pickUpFlag(flag);
    }
    else if (enemy) {
        // 当我找到敌人的时候发生了什么?
        if (this.isReady("cleave")) {
            this.cleave(enemy);
        }
        else {
            this.attack(enemy);
        }
    }
    else if (item) {
        // 当我找到一个物品的时候,发生了什么?
        var itempos = item.pos ;
        var x = itempos.x ;
        var y = itempos.y ;
        this.moveXY(x, y);
    }
}

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

29、多人游戏之林

// 当第一个收集100个金币的人!
// 如果你死了,重生的时候只有原来金币的67%

loop {
    // 找到金币并攻击敌人
    // 使用旗子和特殊的移动策略来赢得比赛!
    var flag = this.findFlag ();
    var item = this.findNearestItem();
    var enemy =this.findNearestEnemy();
    if (enemy !== null) {
        var distance = this.distanceTo(enemy);
    }
    if (flag) {
        this.pickUpFlag(flag);
    }
    else if (distance < 5 ) {
        this.attack(enemy);
    }
    else {
        var itempos = item.pos ;
        var x = itempos.x ;
        var y = itempos.y ;
        this.moveXY(x, y);
    }
}

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

30、围攻Stonehold

// Help your friends beat the minions that Thoktar sends against you.
// 你需要更好的装备和策略去赢得战斗。
// 标记可能有用,不过它由你决定——要有创造性哦!
loop {
   var flag = this.findFlag();
    var enemy = this.findNearestEnemy();
    var item = this.findNearestItem();
    if (flag) {
        this.pickUpFlag(flag);
    }
    else if (enemy) {
        if (this.isReady("cleave")) {
            this.cleave(enemy);
        }
        else {
            this.attack(enemy);
        }      
    }
    if (item) {
        var itempos = item.pos;
        var x = itempos.x ;
        var y = itempos.y ;
        this.moveXY(x, y);
    }
}


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

番外篇1:地牢40关解救致命地牢

//注意插旗位置和时机把握
// 在你救出受酷刑的农民后,逃出地牢。
// 你可以藏在滴水兽后面。
// 杀了警卫会得到不希望的结果。
// 如果你掠夺了所有的宝藏,会得到附件的奖励。
loop {
   var flag = this.findFlag();
   if (flag) {
       this.pickUpFlag(flag);
   }
   var enemy = this.findNearestEnemy();
   var distance = 20 ;
   if (enemy !==null) {
        distance = this.distanceTo(enemy);
   }
   if (enemy) {
       if (distance < 5) {
           this.attack(enemy);
       }  
   }
   var item = this.findNearestItem();
   if (item) {
       var itemp = item.pos ;
       var x = itemp.x ;
       var y = itemp.y ;
       this.moveXY(x, y);
   }
}

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

番外篇2:地牢41

// 生存时间比敌人的英雄长!
// 制定自己的战略。有创意!
 loop {
   var flag = this.findFlag();
   if (flag) {
       this.pickUpFlag(flag);
   }
   var enemy = this.findNearestEnemy();
   var distance = 20 ;
   if (enemy !==null) {
        distance = this.distanceTo(enemy);
   }
   if (enemy) {
       if (distance < 5) {
           if (this.isReady("cleave")) {
               this.cleave(enemy);
           }
           else {
                this.attack(enemy);              
           }
       }  
   }

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

版权声明:本文为博主原创文章,喜欢就拿去吧!^-^

codecombat之边远地区的森林23-30关及地牢40\41关代码分享

标签:codecombat

原文地址:http://blog.csdn.net/hqj_email/article/details/48009875

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