「网易官方」极客战记(codecombat)攻略-山峰-收割火焰-reaping-fire

原创
08/28 09:48
阅读数 95
(点击图片进入关卡)

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

简介

食人魔正在前进! 指挥飞行员 "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

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

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部