zoukankan      html  css  js  c++  java
  • codecombat之边远地区的森林12-22关及地牢39关代码分享

    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); 
        }
    }

  • 相关阅读:
    CSS margin重叠 & CSS BFC(Block Formatting Context)
    require.js
    bind()函数的作用
    JavaScript DOM 总结
    插入排序-直接插入排序、希尔排序
    交换排序-起泡排序、快速排序算法
    JavaScript全局函数
    JavaScript命名空间的理解与实现
    document.documentElement.clientWidth
    Python-删除多级目录
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7089375.html
Copyright © 2011-2022 走看看