「网易官方」极客战记(codecombat)攻略-森林-盲距-blind-distance
时间: 2020-07-14来源:OSCHINA
(点击图片进入关卡)
准备射击!距离: 300 千米!方位角:…… 管他呢!
简介

那个村庄太安静了。 看起来像是埋伏。 盲人巫师是你唯一的朋友,但他是一个非常强大的法师。 你会成为他的代言人。 注意食人魔,并说任何传入的距离。 巫师的力量是有限的,只有在看见食人魔 only when see an ogre。
使用预定义函数查找最近的敌人并返回距离(如果没有敌人,则返回 0)。 如果将函数结果存储在变量中,则可以在代码中使用函数结果。
enemy = hero.findNearestEnemy()
默认代码
# 你的任务是告诉他兽人的距离。
# 这个函数寻找最近的敌人,并返回距离。
# 如果没有敌人,则该函数返回0。
def nearestEnemyDistance():
enemy = hero.findNearestEnemy()
result = 0
if enemy:
result = hero.distanceTo(enemy)
return result
while True:
# 调用nearestEnemyDistance()和
# 将结果保存在变量enemyDistance中。
enemyDistance = nearestEnemyDistance()
# 如果enemyDistance大于0:

# 说出enemyDistance变量的值。
概览
函数可以包括很多指令,这会让你头脑清晰。 同样,函数可以避免重复一大段代码。
函数可以返回 (return) 值,从中你可以得到有用的信息。 之前你用 hero.findNearestEnemy() 的时候就见过了吧。
要在函数中返回一个值,用 return 关键字。 在它的后面加上要返回的值(或者变量)。
def someFunction():
...
return 3 # 函数返回 3
你可以把函数返回值存到变量里,给后面的代码用:
x = someFunction()
# 现在 x 等于 3
hero.say(x)
盲距 解法
# 你的任务是告诉他兽人的距离。
# 这个函数寻找最近的敌人,并返回距离。
# 如果没有敌人,则该函数返回0。
def nearestEnemyDistance():
enemy = hero.findNearestEnemy()
result = 0
if enemy:
result = hero.distanceTo(enemy)
return result
while True:
# 调用nearestEnemyDistance()和
# 将结果保存在变量enemyDistance中。
enemyDistance = nearestEnemyDistance()
# 如果enemyDistance大于0:
if enemyDistance > 0:
# 说出enemyDistance变量的值。
hero.say(enemyDistance)

本攻略发于极客战记官方教学栏目,原文地址为: https://codecombat.163.com/news/jikezhanji-mangju 极客战记——学编程,用玩的

热门排行