首页 > 其他 > 详细

【网易官方】极客战记(codecombat)攻略-森林-冰冻打击hit-and-freeze

时间:2020-02-21 18:52:19      阅读:74      评论:0      收藏:0      [点我收藏+]
技术分享图片
一个被困的肉食动物,仍然是一个危险的肉食动物

简介

技术分享图片

你陷入了陷阱! 等到食人魔近身,然后攻击,否则你会伤害自己!

函数可以返回一个值,包括一个 boolean 值(true 或 false)。

用这个来决定是否一个食人魔是 inattackrange() !

def inAttackRange(enemy):
    distance = hero.distanceTo(enemy)
    if distance <= 3:
        # return True because the enemy is in range
    else:
        # return False because the enemy is out of range

将结果保存到一个变量中,稍后在代码中使用它:

canAttack = inAttackRange(target)

默认代码

# 你掉进陷阱里了!别动!你会受伤的!
# 这个函数检查敌人是否再攻击范围。
def inAttackRange(enemy):
    distance = hero.distanceTo(enemy)
    # 几乎所有的剑都有3的攻击范围。
    if distance <= 3:
        return True
    else:
        return False
# 只有在触手可及的范围内才能攻击食人魔。
while True:
    # 找到最近的敌人,并将其储存在一个变量中。

 

    # 调用 inAttackRange(enemy),将 enemy 作为参数
    # 把结果保存于 “canAttack” 变量中

 

    # 如果结果存储在一个攻击中 True, 然后下手!

 

    pass

概览

你可以在一个函数中使用多个 return 语句,但是只有一个会被使用,因为 return 会导致函数停止执行,并且返回回函数被调用的地方。

def moreThanTen(n):
    # 如果‘n‘大于10,则函数返回true
    if n > 10:
        return True
    # 否则‘else‘内的‘return‘就会被调用,函数会返回false
    else:
        return False

 

isSmall = moreThanTen(5) # isSmall == true

冰冻打击 解法

# 你掉进陷阱里了!别动!你会受伤的!
# 这个函数检查敌人是否再攻击范围。
def inAttackRange(enemy):
    distance = hero.distanceTo(enemy)
    # 几乎所有的剑都有3的攻击范围。
    if distance <= 3:
        return True
    else:
        return False
# 只有在触手可及的范围内才能攻击食人魔。
while True:
    # 找到最近的敌人,并将其储存在一个变量中。
    nearestEnemy = hero.findNearestEnemy()

 

    # 调用 inAttackRange(enemy),将 enemy 作为参数
    # 把结果保存于 “canAttack” 变量中
    canAttack = inAttackRange(nearestEnemy)

 

    # 如果结果存储在一个攻击中 True, 然后下手!
    if canAttack:
        hero.attack(nearestEnemy)
 
 
 
本攻略发于极客战记官方教学栏目,原文地址为:

【网易官方】极客战记(codecombat)攻略-森林-冰冻打击hit-and-freeze

原文:https://www.cnblogs.com/codecombat/p/12342146.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!