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

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

  • 相关阅读:
    ruby中的特殊字符
    android and webview
    ActiveRecord::Base.establish_connection
    Ruby 创建目录
    不能手动输入或粘贴
    eclipse找不到 help>software update>find and install
    PL/SQL 创建、查看、操作用户
    XML文件
    javascript 获取页面高度(多种浏览器)(转)
    Eclipse to android
  • 原文地址:https://www.cnblogs.com/codecombat/p/13575763.html
Copyright © 2011-2022 走看看