「网易官方」极客战记(codecombat)攻略-沙漠-吸引牦牛-yakstraction

(点击图片进入关卡)

口渴的牦牛蜂拥向绿洲上晒太阳的可怜农民,你必须用诱饵干扰牦牛,让其偏离轨道。

简介

结合flag、 hero.gold 和 "decoy" 来保护农民!

默认代码

# 保护 brandy 避免那些冲来的口渴的耗牛!
# 收集金币来建造诱饵干扰耗牛。
# 使用旗子来决定什么时候在哪里建造诱饵。

概览

在你的循环里,第一件要做的事情是使用 findFlag 来检查是否有flag(旗标)已经被放置。

如果有flag 并且 你有 25 以上的金币,那么使用 buildXY 在flag的 pos.x 和 pos.y 上建造一个诱饵。别忘了到达那里的时候使用 pickUpFlag !

提示: 首先检查flag,这样你就不会在你移动到另一枚金币时耽误建造诱饵的时机。

下一步,使用 findNearestItem 找到一枚金币并且向它移动。

吸引牦牛 解法

# 保护 brandy 避免那些冲来的口渴的耗牛!
# 收集金币来建造诱饵干扰耗牛。
# 使用旗子来决定什么时候在哪里建造诱饵。

 

while True:
    flag = hero.findFlag()
    item = hero.findNearestItem()
    if item:
        hero.moveXY(item.pos.x,item.pos.y)
    if flag:
        hero.buildXY("decoy", flag.pos.x, flag.pos.y)
        hero.pickUpFlag(flag)

 

# 把 munchkins赶往Omarn Brewstone提制出来的水!
# 使用 `continue`验证丛林中的条件。
while True:
    enemy = hero.findNearestEnemy()
    item = hero.findNearestItem()

 

    # 如果没有敌人,跳出循环继续。
    if not enemy:
        continue

 

    # 如果有敌人却没物品,要一瓶药,跳到下次循环。
    if not item:
        hero.say("把喝的拿来!")
        continue

 

    # 使用 if 语句检查物品的类型。如果类型是 "poison",跳出循环继续运行。
    if item.type is "poison":
        continue
    # 如果不是,那瓶子里装的是水,所以走向它,返回出发点!
    # 所以把XY移到魔药,然后回到开始!
    hero.moveXY(44, 35)
    hero.moveXY(34, 47)
 
本攻略发于极客战记官方教学栏目,原文地址为:
 
原文地址:https://www.cnblogs.com/codecombat/p/13272509.html