「网易官方」极客战记(codecombat)攻略-网页开发2-JavaScript: 疯狂的小矮人-javascript-maniac-munchkins

(点击图片进入关卡)

在小矮人攻击你时保卫自己! 打开箱子,拿走战利品。

简介

在被小矮人和某些特别愤怒的小矮人攻击的同时打破箱子。

默认代码

// 攻击箱子,使其打开。
// 当小矮人太靠近自己是,要会保卫自己。
while(true) {
    var enemy = hero.findNearestEnemy();
    var distance = hero.distanceTo(enemy);
    if(hero.isReady("cleave")) {
        // 如果准备就绪,首要任务是切割:

 

    } else if(distance < 5) {
        // 在小矮靠的太近的时候,攻击最近的。

 

    } else {
        // 否则,尝试打开他们的胸膛:
        hero.attack("Chest");
    }
}

概览

这一关里,矮人会发起周期性攻击,而不等待支援!

使用 cleave 打败任何靠近的矮人队伍,不过 cleave 需要冷却完毕才能用。 isReady 可以帮你确认技能是否就绪。

if(hero.isReady("cleave")) {
    // 这只在英雄的"cleave"就绪时发生。
}

用 distanceTo 方法检查矮人是否足够靠近。 distanceTo 会返回英雄和对手之间的一个 数字 。

注意 小于 号 < 只在对比两个 数字 时有用! hero.findNearestEnemy() 返回的是敌人,而不是数字!hero.isReady() 返回 true 或 false 值,也不是数字! < 务必只能用于对比两个数字,例如 5 和hero.distanceTo(enemy) 。

var enemy = hero.findNearestEnemy()
var distance = hero.distanceTo(enemy)
if(hero.isReady("cleave") {
// else if是一个特殊语句!它告诉英雄前面if成立时不执行这个,前面if不成立时才考虑这里。
} else if(distance < 5) {
    // 这只会发生在敌人距离小于5米且cleave未就绪时。
}

最后,如果cleave未就绪且最近敌人距离大于5米,你就有闲工夫攻击宝箱了!

# 记住,else只在其他if语句条件全部为假时运行。
else {
    # 这只会发生在距离小于5米内没有敌人且cleave未就绪时。
}

JavaScript: 疯狂的小矮人 解法

// 攻击箱子,使其打开。
// 当小矮人太靠近自己是,要会保卫自己。
while(true) {
    var enemy = hero.findNearestEnemy();
    var distance = hero.distanceTo(enemy);
    if(hero.isReady("cleave")) {
        // 如果准备就绪,首要任务是切割:
        hero.cleave();
    } else if(distance < 5) {
        // 在小矮靠的太近的时候,攻击最近的。
        hero.attack(enemy);
    } else {
        // 否则,尝试打开他们的胸膛:
        hero.attack("Chest");
    }
}
 

本攻略发于极客战记官方教学栏目,原文地址为:

https://codecombat.163.com/news/jikezhanji-fengkuangdexiaoairen

极客战记——学编程,用玩的!

原文地址:https://www.cnblogs.com/codecombat/p/12890372.html