【网易官方】极客战记(codecombat)攻略-森林-发狂的矮人maniac-munchkins

在食人魔的攻击下防守!打开宝箱,拿走宝物。

简介

在受到一群兽人和某些特别愤怒的兽人的攻击时,打开箱子。

if condition1:
     # 这只有在条件1为真时才会发生。
elif condition2:
     # 只有条件1是错误的,条件2是正确的,才会发生这种情况。
else:
    # 只有当条件1和条件2都为假时才会发生这种情况。

默认代码

# 又一个宝箱等待英雄打开!
# 攻击宝箱来打开它。
# 有些食人魔矮人可不会呆呆地站着挨打!
# 当食人魔离你太近时,你得学着保护你自己
while True:
    enemy = hero.findNearestEnemy()
    distance = hero.distanceTo(enemy)
    if hero.isReady("cleave"):
         # 如果劈斩就绪,优先使用劈斩:
        pass
    elif distance < 5:
         # 攻击靠近并离你最近的食人魔矮人
        pass
    else:
         # 否则,尝试打开宝箱:
        # 使用宝箱的名称进行攻击:"Chest"。
        pass

概览

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

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

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

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

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

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

发狂的矮人 解法

# 又一个宝箱等待英雄打开!
# 攻击宝箱来打开它。
# 有些食人魔矮人可不会呆呆地站着挨打!
# 当食人魔离你太近时,你得学着保护你自己
while True:
    enemy = hero.findNearestEnemy()
    distance = hero.distanceTo(enemy)
    if hero.isReady('cleave'):
     # 如果劈斩就绪,优先使用劈斩:
        hero.cleave()
    elif distance < 5:
     # 攻击靠近并离你最近的食人魔矮人
        hero.attack(enemy)
    else:
    # 否则,尝试打开宝箱:
    # 使用宝箱的名称进行攻击:"Chest"。
        hero.attack("Chest")
 
 
本攻略发于极客战记官方教学栏目,原文地址为:

猜你喜欢

转载自www.cnblogs.com/codecombat/p/12186639.html