「网易官方」极客战记(codecombat)攻略-网页开发2-JavaScript: 回到多刺灌木丛的农场-javascript-return-to-thornbush-farm

(点击图片进入关卡)

食人魔再次入侵,唯一的方法是更多参数!

简介

你的功能可以被多个 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

极客战记——学编程,用玩的!

猜你喜欢

转载自www.cnblogs.com/codecombat/p/12896470.html
今日推荐