「网易官方」极客战记(codecombat)攻略-山峰-佣兵山-mountain-mercenaries

「网易官方」极客战记(codecombat)攻略-山峰-佣兵山-mountain-mercenaries
(点击图片进入关卡)

募集资金招兵, 在战斗中活下来

简介

有金币的时候用'summom','command'保护自己

默认代码

# 收集金币招募士兵,指挥他们攻击敌人。
while True:
    # 走到最近的金币处。
    # 使用 move 取代 moveXY,以便于你可以不断发出命令。

 

    hero.say("我需要金币!")

 

    # 如果钱够了就招募士兵。
    if hero.gold > hero.costOf("soldier"):
        hero.say("我应该召集些什么帮手!")

 

    enemy = hero.findNearest(hero.findEnemies())
    if enemy:
        soldiers = hero.findFriends()
        soldierIndex = 0
        soldier = soldiers[soldierIndex]
        # 遍历你所有的士兵,命令他们攻击。

 

            # 使用 attack 命令让你的士兵们攻击。
            #hero.command(soldier, "attack", enemy)

概览

是时候练习召唤并且命令士兵的时候了!

示例代码像你展示怎么使用 costOf 检查你是否有足够的金币来召唤士兵.

如果有, 使用 summon 召唤一个 "soldier" .

然后, 使用一个 while 循环遍历 soldiers 数组并使用带有 "attack" 的 command ,让你士兵攻击敌人.

示例代码的注释会告诉你应该怎么做.

佣兵山解法

# 收集金币招募士兵,指挥他们攻击敌人。
while True:
    # 走到最近的金币处。
    # 使用 move 取代 moveXY,以便于你可以不断发出命令。
    coin = hero.findNearest(hero.findItems())
    if coin:
        hero.move(coin.pos)

 

    hero.say("我需要金币!")

 

    # 如果钱够了就招募士兵。
    if hero.gold > hero.costOf("soldier"):
        hero.say("我应该召集些什么帮手!")

 

    enemy = hero.findNearest(hero.findEnemies())
    if enemy:
        soldiers = hero.findFriends()
        soldierIndex = 0
        soldier = soldiers[soldierIndex]
        # 遍历你所有的士兵,命令他们攻击。
        while soldierIndex < len(soldiers):
            soldier = soldiers[soldierIndex]
            soldierIndex += 1
            # 使用 attack 命令让你的士兵们攻击。
            hero.command(soldier, "attack", enemy)
 
本攻略发于极客战记官方教学栏目,原文地址为: