【网易官方】极客战记(codecombat)攻略-森林-村庄守卫village-warder

定义更多函数来防御更强攻击。

简介

村庄正在面临更大一波食人魔的攻击!你需要使用函数来对敌人进行 attack 及 cleave。

def findAndAttackEnemy():
    enemy = hero.findNearestEnemy()
    if enemy:
        hero.attack(enemy)

默认代码

# 这个函数攻击最近的敌人。
def findAndAttackEnemy():
    enemy = hero.findNearestEnemy()
    if enemy:
        hero.attack(enemy)
# 定义一个函数来劈斩敌人(只在劈斩就绪时)
def findAndCleaveEnemy():
    # 找到最近的敌人:
    enemy = hero.findNearestEnemy()
    # 如果敌人存在:
         # 如果"cleave"就绪了:
            # 是时候使用劈斩了!
    pass
# 在主循环中,巡逻、劈斩和攻击。
while True:
    # 移动到巡逻点,劈斩并攻击。
    hero.moveXY(35, 34)
    findAndCleaveEnemy()
    findAndAttackEnemy()
     # 移动到另一点:
    # 使用findAndCleaveEnemy函数:
    # 使用findAndAttackEnemy函数:

概览

这一关,你需要编写函数的定义,这样你就可以在主循环中调用它了。食人魔有可能更大规模地来袭,你需要添加一个函数使用你的 cleave 能力。

定义 findAndCleaveEnemy 函数时,记得检查:1. 敌人存在; 2. Cleave 技能准备就绪。

务必记得定义函数的方式:

def sayHello():
    hero.say('Hello!')

记住,调用函数时不要加 hero,因为函数由你定义,而不是英雄。

sayHello()
    hero.say('再见。')

村庄守卫 解法

# 这个函数攻击最近的敌人。
def findAndAttackEnemy():
    enemy = hero.findNearestEnemy()
    if enemy:
        hero.attack(enemy)
def findAndAttackEnemy():
    # 定义一个函数来劈斩敌人(只在劈斩就绪时)
    enemy = hero.findNearestEnemy()
    if enemy:
        if hero.isReady('cleave'):
            hero.cleave(enemy)
# 在主循环中,巡逻、劈斩和攻击。
while True:
     # 移动到巡逻点,劈斩并攻击。
    hero.moveXY(35, 34)
    findAndCleaveEnemy()
    findAndAttackEnemy()
    # 移动到另一点:
    hero.moveXY(60, 31)
    findAndCleaveEnemy()
    findAndAttackEnemy()
 
 
 
本攻略发于极客战记官方教学栏目,原文地址为:

猜你喜欢

转载自www.cnblogs.com/codecombat/p/12197033.html