您的当前位置:首页正文

极客战记计算机科学2村庄守卫,「网易官方」极客战记(codecombat)攻略-森林-村庄守卫-village-warder...

2024-11-09 来源:个人技术集锦

(点击图片进入关卡)

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

简介

村庄正在面临更大一波食人魔的攻击!你需要使用函数来对敌人进行 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()

显示全文