「网易官方」极客战记(codecombat)攻略-森林-返回荆棘农场 B-return-to-thornbush-farm-b

亡梦爱人 提交于 2020-08-14 02:49:55
(点击图片进入关卡)

食人魔再次来袭,只有更多参数能够救你!

简介

你的函数可以定义不止一个参数。

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)
 
本攻略发于极客战记官方教学栏目,原文地址为:
 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!