zoukankan      html  css  js  c++  java
  • 【网易官方】极客战记(codecombat)攻略-森林-封闭的十字路口closed-crossroad

    围栏还是陷阱?这取决于位置,当然还有函数。

    简介

    村庄位于一处繁忙的十字路口,只有老练的建造者才能保护它! 顺时针绕村庄移动。

    在上下通道使用 "fire-trap" 。 左右通道使用 `"fence"。

    函数可以定义很多参数,类型也可以各异,诸如字符串、数字等。

    def sureBuildSomething(buildType, x, y):
        # 如下函数被调用时,
        # buildType将是"fence"
            # x将是20,y将是40
    maybeBuildTrap("fence", 20, 40)

    默认代码

    # 只在看到敌人时进行建造。
    # 该函数定义3个参数。
    def maybeBuildSomething(typeToBuild, x, y):
        hero.moveXY(x, y)
        # 找到最近的敌人

     

        # 如果存在敌人

     

            # 那么使用buildXY,参数typeToBuild, x, 和 y
            # 使用变量typeToBuild作为第一个参数。

     

        pass
    # 你不需要改动下面的代码。
    while True:
        # 调用 maybeBuildSomething,使用"fire-trap"及底部X的坐标。
        maybeBuildSomething("fire-trap", 40, 20)
        # 调用maybeBuildSomething,在左侧X处使用"fence"!
        maybeBuildSomething("fence", 26, 34)
        # 调用maybeBuildSomething,在顶部的X处使用"fire-trap"!
        maybeBuildSomething("fire-trap", 40, 50)
        # 调用maybeBuildSomething,在右侧X处使用"fence"!
        maybeBuildSomething("fence", 54, 34)

    概览

    函数可以有任意数目的参数,其类型也可以各异。

    例如 buildXY ,它有 3 个参数:一个字符串(要建造的对象的类型)和两个数字(x 及 y 坐标值)

    def maybeBuildSomething(buildType, x, y):
        # 如下函数被调用时,
        # buildType是'fence', x是40, y是20
    maybeBuildSomething('fence', 40, 20)

    buildType 是一个字符串, x 和 y 是数字。

    注意:调用函数时,参数顺序需要同定义时保持一致。

    现在你可以为 "fence" 和 "fire-trap" 使用同一个函数,而不是两个,这样代码就会简洁很多!

    封闭的十字路口 解法

    # 只在看到敌人时进行建造。
    # 该函数定义3个参数。
    def maybeBuildSomething(typeToBuild, x, y):
        hero.moveXY(x, y)
        # 找到最近的敌人
        enemy = hero.findNearestEnemy()
        # 如果存在敌人
        if enemy:
            # 那么使用buildXY,参数typeToBuild, x, 和 y
            # 使用变量typeToBuild作为第一个参数。
            hero.buildXY(typeToBuild, x, y)
    # 你不需要改动下面的代码。
    while True:
        # 调用 maybeBuildSomething,使用"fire-trap"及底部X的坐标。
        maybeBuildSomething("fire-trap", 40, 20)
        # 调用maybeBuildSomething,在左侧X处使用"fence"!
        maybeBuildSomething("fence", 26, 34)
        # 调用maybeBuildSomething,在顶部的X处使用"fire-trap"!
        maybeBuildSomething("fire-trap", 40, 50)
        # 调用maybeBuildSomething,在右侧X处使用"fence"!
        maybeBuildSomething("fence", 54, 34)
    本攻略发于极客战记官方教学栏目,原文地址为:
    https://codecombat.163.com/news/jikezhanji-fengbideshizilukou
     
     
  • 相关阅读:
    java调用oracle存储过程
    高富帅屌丝买房差异大 看看都该买什么房
    c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2
    .net 实现微信公众平台的主动推送信息
    HTML+CSS面试知识点分享(一)
    JS面试知识点分享(一)
    HTML+CSS面试知识点分享(二)
    jQuery选择器学习理解
    PB程序系统错误处理记录
    sql server2000 直接读取excel2003文件的sheet
  • 原文地址:https://www.cnblogs.com/codecombat/p/12255029.html
Copyright © 2011-2022 走看看