「网易官方」极客战记(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