「网易官方」极客战记(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
极客战记——学编程,用玩的