【网易官方】极客战记(codecombat)攻略-森林-背靠背-back-to-back

关卡连接:https://codecombat.163.com/play/level/back-to-back

免费试玩:https://codecombat.163.com/play

在村庄入口处巡逻,防守食人魔的进攻。

简介

使用 else 增强代码的作用!

else 类似于 if ,只是它包含的内容在 if 的条件不成立时执行。

if enemy:
    # 这在有敌人的情况执行。
    hero.attack(enemy)
else:
    # 这在没有敌人的情况执行。
    hero.say("我看不到敌人!")

默认代码

# 待在中间防守!
while True:
    enemy = hero.findNearestEnemy()
    if enemy:
        # 亦或主动出击...
        pass
    else:
        # 亦或回到你的阵地防守。
        pass

概览

这关将教你 if/else 中的 else 部分

当你用上 else 子句时,除了条件成立时所做的事,你还指定了条件不成立时所做的事。

也就是说,如果 (if) 有敌人, 那么 (then) 攻击它,否则 (else) 移动到 X 标记处。

为了演示这个会如何执行,我们写好了 if 和 else ,你需要把 attack 和 moveXY 方法放进其中,让英雄攻击看得见的敌人,并在没有敌人的时候回到 X,保护农民。

确保你回到正确的位置,否则你将来不及同时保护两个农民了。

背靠背 解法

# 待在中间防守!
while True:
    enemy = hero.findNearestEnemy()
    # 亦或主动出击...
    if enemy:
        hero.attack(enemy)
        hero.attack(enemy)
    else:
        # 亦或回到你的阵地防守。
        hero.moveXY(40, 34)
 
 
本攻略发于极客战记官方教学栏目,原文地址为:
原文地址:https://www.cnblogs.com/codecombat/p/12169839.html