zoukankan      html  css  js  c++  java
  • 「网易官方」极客战记(codecombat)攻略-山峰-收割火焰-reaping-fire

    (点击图片进入关卡)

    用自己的手捍卫自己的雷区... 与格里芬一起!

    简介

    食人魔正在前进! 指挥飞行员 "griffin-riders" 飞越地雷并捍卫英雄。

    使用一系列功能将流程的每个部分分解成易于理解的部分。

    默认代码

    # 目标是生存30秒,并且保持地雷完好至少30秒。
    def chooseStrategy():
        enemies = hero.findEnemies()
        # 如果你可以召唤一个格里芬骑士,返回 "griffin-rider"

     

        # 如果您的矿井旁边有一辆排山车,请返回"fight-back"

     

        # 否则,返回 "collect-coins"

     

    def commandAttack():
        # 命令你的狮鹫骑士攻击食人魔。

     

        pass

     

    def pickUpCoin():
        # 收集硬币

     

        pass

     

    def heroAttack():
        # 你的英雄应该攻击对方的骑士,跨过雷区的那些。

     

        pass

     

    while True:
        commandAttack()
        strategy = chooseStrategy()
        # 调用一个函数,取决于目前决定要做什么。

    概览

    记住,你可以用 findByType("fangrider") 来找到敌方防御者,Griffin Riders 用findByType("griffin-rider")

    收割火焰解法

    # 目标是生存30秒,并且保持地雷完好至少30秒。
    def chooseStrategy():
        enemies = hero.findEnemies()
        # 如果你可以召唤一个格里芬骑士,返回 "griffin-rider"
        if hero.gold >= hero.costOf("griffin-rider"):
            return "griffin-rider"
        # 如果您的矿井旁边有一辆排山车,请返回"fight-back"
        fangriders = hero.findByType("fangrider")
        for i in range(len(fangriders)):
            fangrider = fangriders[i]
            if fangrider.pos.x < 38:
                return "fight-back"
        # 否则,返回 "collect-coins"
        return "collect-coins"
    def commandAttack():
        # 命令你的狮鹫骑士攻击食人魔。
        friends = hero.findFriends()
        enemies = hero.findEnemies()
        for i in range(len(friends)):
            friend = friends[i]
            enemy = friend.findNearest(enemies)
            if enemy:
                hero.command(friend, "attack", enemy)
    def pickUpCoin():
        # 收集硬币
        coin = hero.findNearest(hero.findItems())
        if coin:
            hero.move(coin.pos)

     

    def heroAttack():
        # 你的英雄应该攻击对方的骑士,跨过雷区的那些。
        enemy = hero.findNearest(hero.findByType("fangrider"))
        if enemy and hero.distanceTo(enemy) < 15:
            hero.attack(enemy)

     

    while True:
        commandAttack()
        strategy = chooseStrategy()
        # 调用一个函数,取决于目前决定要做什么。
        if strategy is "griffin-rider":
            hero.summon("griffin-rider")
        elif strategy is "fight-back":
            heroAttack()
        elif strategy is "collect-coins":
            pickUpCoin()

     本攻略发于极客战记官方教学栏目,原文地址为:

    https://codecombat.163.com/news/jikezhanji-shanfengshougehuoyan

    极客战记——学编程,用玩的

  • 相关阅读:
    python numpy 介绍
    python+图像分割seg
    C++ 添加库
    input标签的disabled和readonly的区别
    linux中mysql忘记密码解决办法
    memcached服务安装与卸载
    app与服务端通信时如何进行消息校验
    缓存同步问题
    数据中添加对字段的说明
    服务器报警
  • 原文地址:https://www.cnblogs.com/codecombat/p/13575763.html
Copyright © 2011-2022 走看看