「网易官方」极客战记(codecombat)攻略-森林-返回荆棘农场 B-return-to-thornbush-farm-b
< 返回列表时间: 2020-06-17来源:OSCHINA
(点击图片进入关卡)
食人魔再次来袭,只有更多参数能够救你!
简介

你的函数可以定义不止一个参数。
def maybeBuildTrap(x, y):
# 当如下函数被调用时,
# x将是43,y将是50
maybeBuildTrap(43, 50)
默认代码
# 函数maybeBuildTrap定义了两个参数!
def maybeBuildTrap(x, y):
# 使用x和y作为移动的坐标。
hero.moveXY(x, y)
enemy = hero.findNearestEnemy()
if enemy:
pass
# 使用 buildXY 在特定 x 和 y 处建造 "fire-trap"

while True:
# 这会调用maybeBuildTrap,使用下方入口的坐标。
maybeBuildTrap((38, 20)
# 下面在右侧入口使用maybeBuildTrap!

# 现在在上方入口处使用maybeBuildTrap! !
概览
就像 moveXY 接收两个参数那样,你创建的函数也可以定义多个参数!
def maybeBuildTrap(x, y):
# 当函数被调用时,
# x 会是 43,y 会是 50
maybeBuildTrap(43, 50)
形参 vs. 实参
为啥有时我们叫它形参,有时叫它实参?
形参 (parameter) 是在函数定义里的参数。
实参 (argument) 是函数被调用时传进的实际参数值!
返回荆棘农场 B 解法
# 函数maybeBuildTrap定义了两个参数!
def maybeBuildTrap(x, y):
# 使用x和y作为移动的坐标。
hero.moveXY(x, y)
enemy = hero.findNearestEnemy()
if enemy:
# 使用 buildXY 在特定 x 和 y 处建造 "fire-trap"
hero.buildXY("fire-trap", x, y)

while True:
# 这会调用maybeBuildTrap,使用下方入口的坐标。
maybeBuildTrap(38, 20)

# 下面在右侧入口使用maybeBuildTrap!
maybeBuildTrap(56, 34)
# 现在在上方入口处使用maybeBuildTrap!
maybeBuildTrap(38, 48)

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