「网易官方」极客战记(codecombat)攻略-沙漠-守书人-bookkeeper

(点击图片进入关卡)

使用你的手表,在收割敌人和金币时留意时间。

简介

这关包含三个部分:

  1. 和敌人战斗 15 秒。
  2. 收集金币 15 秒。
  3. 继续战斗 15 秒。

告诉 Naria 每部分结束后你收获的 gold 。

使用 time 对准时间,还有 break 可以跳出 while 循环。

默认代码

# 奋战沙场15秒。
defeated = 0
while True:
    coin = hero.findNearestItem()
    if enemy:
        hero.attack(enemy)
        if enemy.health <= 0:
            defeated += 1
    if hero.time > 15:
        break

 

# 告诉Naria你击败了多少敌人
hero.moveXY(59, 33)
hero.say(defeated)

 

# 收集金币,直到时间达到30秒

 

# 告诉Naria 你收集了多少金币
hero.say(hero.gold)
# 攻击敌人,直到时间达到45秒

 

# 记得重置击败的敌人数。

 

# 告诉Naria你击败了多少敌人

概览

你可以用 time 和 break 在某个时间段内重复做事:

while True:
    # 干点啥
    if hero.time > 15:
        break

还有,你可以这样计算打败的敌人数量:

hero.attack(enemy)
if enemy.health <= 0:
    defeated += 1

守书人 解法

# 奋战沙场15秒。
defeated = 0
while True:
    coin = hero.findNearestItem()
    if enemy:
        hero.attack(enemy)
        if enemy.health <= 0:
            defeated += 1
    if hero.time > 15:
        break

 

# 告诉Naria你击败了多少敌人
hero.moveXY(59, 33)
hero.say(defeated)

 

# 收集金币,直到时间达到30秒
while True:
    item = hero.findNearestItem()
    if item:
        hero.moveXY(item.pos.x,item.pos.y)
    if hero.time > 30:
        break

 

# 告诉Naria 你收集了多少金币
hero.say(hero.gold)
# 攻击敌人,直到时间达到45秒
# 记得重置击败的敌人数。
while True:
 
    enemy = hero.findNearestEnemy()
    if enemy:
        hero.attack(enemy)
        if enemy.health <= 0:
            defeated += 1
    if hero.time > 45:
        break

 

# 告诉Naria你击败了多少敌人
hero.say(defeated)
 
本攻略发于极客战记官方教学栏目,原文地址为:
原文地址:https://www.cnblogs.com/codecombat/p/13259187.html