zoukankan      html  css  js  c++  java
  • 「网易官方」极客战记(codecombat)攻略-山峰-劳心劳力-toil-and-trouble

    (点击图片进入关卡)

    食人魔女巫:加倍麻烦。

    简介

    士兵和弓箭手应该瞄准不同的目标来完成这关。

    • "soldier" s 应该攻击 "witch" .
    • "archer" s 应该攻击离他们最近的敌人。
    • findByType 方法可以让你通过它们的类型找到所有(可见的)敌人或物品。 将它与findNearest 结合起来,你可以找到最近的单元 / 项目的类型。
    gems = hero.findByType("gem")
    nearestGem = hero.findNearest(gems)
    nearestThrower = hero.findNearest(hero.findByType("thrower")

    默认代码

    # 食人魔巫师为您准备了一堆惊喜。
    # 定义一个 chooseTarget 函数,让它接受 friend 参数的输入
    # 根据士兵的类型返回要攻击的目标。
    # 士兵应该攻击巫师,弓箭手应该攻击最近的敌人。
    while True:
        friends = hero.findFriends()
        for friend in friends:
            # 用你的 chooseTarget 函数决定要攻击什么。

     

            pass

    概览

    定义一个 chooseTarget 函数,它接受一个名为 friend 的参数。

    找到 nearest 敌人的朋友,以及最近的类型为 "witch" 的敌人(使用 “FiffyType”)

    你的士兵应该先瞄准女巫,或者如果没有女巫,那就要瞄准最近的敌人。其他部队应始终瞄准最近的敌人。

    Hint: 每个士兵都应该攻击离这名士兵最近的 "witch" ,这样可以将你的士兵分成两组,并且不会受到巫师袭击造成的溅射伤害。

    劳心劳力解法

    # 食人魔巫师为您准备了一堆惊喜。
    # 定义一个 chooseTarget 函数,让它接受 friend 参数的输入
    # 根据士兵的类型返回要攻击的目标。
    # 士兵应该攻击巫师,弓箭手应该攻击最近的敌人。
    def chooseTarget(friend):
        target = None
        if friend.type == "archer":
            enemies = hero.findEnemies()
            target = friend.findNearest(enemies)
        if friend.type == "soldier":
            witches = hero.findByType("witch")
            target = friend.findNearest(witches)
        return target
    while True:
        friends = hero.findFriends()
        for friend in friends:
            # 用你的 chooseTarget 函数决定要攻击什么。
            enemy = chooseTarget(friend)
            if enemy:
                hero.command(friend, "attack", enemy)
     
    本攻略发于极客战记官方教学栏目,原文地址为:
  • 相关阅读:
    UVALive
    UVALive
    UVA
    UVALive
    BZOJ3597 SCOI2014方伯伯运椰子(分数规划+spfa)
    BZOJ3456 城市规划(多项式求逆)
    BZOJ4182 Shopping(点分治+树形dp)
    BZOJ4383 Pustynia(线段树+拓扑排序)
    BZOJ4445 SCOI2015小凸想跑步(半平面交)
    BZOJ5311 贞鱼(动态规划+wqs二分+决策单调性)
  • 原文地址:https://www.cnblogs.com/codecombat/p/13575771.html
Copyright © 2011-2022 走看看