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

「网易官方」极客战记(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

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

标签:codecombat,cleave,极客,hero,enemy,distanceTo,isReady,else,战记
来源: https://www.cnblogs.com/codecombat/p/12890372.html