(点击图片进入关卡)
食人魔再次入侵,唯一的方法是更多参数!
简介
你的功能可以被多个 parameter 来定义
def maybeBuildTrap(x, y):
# 当函数被调用时
# x将会是传入的43,y将会是传入的50
maybeBuildTrap(43, 50)
默认代码
// 函数maybeBuildTrap定义了两个参数!
function maybeBuildTrap(x, y) {
// 使用x和y坐标来移动它。
hero.moveXY(x, y);
var enemy = hero.findNearestEnemy();
if(enemy) {
// 使用buildXY在给定的x和y处构建 "fire-trap"。
}
}
while(true) {
// 这个叫做maybeBuildTrap,在顶部的入口有坐标。
maybeBuildTrap(43, 50);
// 现在在左部入口使用 maybeBuildTrap !
// 现在在底部入口使用 maybeBuildTrap !
概览
就像 moveXY 能够接受两个参数,您创建的函数可以定义多个参数!
def maybeBuildTrap(x, y):
# 当函数被调用时
# x将会是传入的43,y将会是传入的50
maybeBuildTrap(43, 50)
Parameters 函数 vs. Arguments 参数
那么为什么我们有时会调用 Parameters 函数,有时会调用 Arguments 参数?
parameter 是定义功能的函数。
Arguments 是程序调用时传递给函数的实际值!
JavaScript: 回到多刺灌木丛的农场 解法
// 函数maybeBuildTrap定义了两个参数!
function maybeBuildTrap(x, y) {
// 使用x和y坐标来移动它。
hero.moveXY(x, y);
var enemy = hero.findNearestEnemy();
if(enemy) {
// 使用buildXY在给定的x和y处构建 "fire-trap"。
hero.buildXY("fire-trap", x, y);
}
}
while(true) {
// 这个叫做maybeBuildTrap,在顶部的入口有坐标。
maybeBuildTrap(43, 50);
// 现在在左部入口使用 maybeBuildTrap !
maybeBuildTrap(25, 34);
// 现在在底部入口使用 maybeBuildTrap !
maybeBuildTrap(43, 20);
}
本攻略发于极客战记官方教学栏目,原文地址为:
https://codecombat.163.com/news/jikezhanji-huidaoguanmucongdenongchang