• 「网易官方」极客战记(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

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

  • 相关阅读:
    C++11 指针成员与拷贝构造(浅拷贝与深拷贝)
    C++11 委派构造函数
    C++11 继承构造函数
    C++11 局部和匿名类型作模板实参
    C++11 外部模板
    C++11 函数模板的默认模板参数
    2D游戏新手引导点光源和类迷雾实现
    UVA 12293
    【算法】8 图文搭配诠释三种链表及其哨兵
    小米面试
  • 原文地址:https://www.cnblogs.com/codecombat/p/12896470.html
Copyright © 2020-2023  润新知