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
     
     
  • 相关阅读:
    Leetcode 1489找到最小生成树李关键边和伪关键边
    Leetcode 113 路径总和 II
    hdu 1223 还是畅通工程
    hdu 1087 Super Jumping! Jumping! Jumping!
    hdu 1008 Elevator
    hdu 1037 Keep on Truckin'
    湖工oj 1241 畅通工程
    湖工oj 1162 大武汉局域网
    hdu 2057 A + B Again
    poj 2236 Wireless Network
  • 原文地址:https://www.cnblogs.com/codecombat/p/12255029.html
Copyright © 2011-2022 走看看