zoukankan      html  css  js  c++  java
  • 「网易官方」极客战记(codecombat)攻略-沙漠-拦截-interception

     
    (点击图片进入关卡)

    沙漠中的财宝!不幸的是,食人魔已经先人一步了。在你的农民搬运宝物的时候保护他们!

    简介

    通过移动到塔和你的朋友之间的位置来保护农民。

    为 x 和 y 计算 enemy 和 friend 之间的中间点。

    首先,添加它们的'x'坐标,然后除以 2:

    x = (friend.pos.x + enemy.pos.x) / 2

    然后对 y 做同样的事情。

    默认代码

    # 站在农民和塔之间。
    while True:
        enemy = hero.findNearestEnemy()
        friend = hero.findNearestFriend()
        # 通过将friend.pos.x添加到enemy.pos.x来计算x
        # 然后除以2
        # 如果你需要更多的帮助就检查指南!

     

        # 现在对y做同样的事情

     

        # 移动到您计算的X和Y坐标。

    概览

    在塔和朋友中间站着保护农民。

    这关你要找到两点的中点。

    举个简单点的例子,在 1D 里!

    假设塔在 x: 0 ,农民在 x: 10 。那么两个位置的中点在哪里呢?

    (0 + 10) / 2 == 5

    这很明显是对的, 5 比 0 大,比 10 小。

    但塔的 x 坐标不是 0 又怎么样?好吧,照样管用!将塔移动到 6 ,再找出中点:

    (6 + 10) / 2 == 8

    也通过了测试。那现在 X 和 Y 一起来会怎样?稍微加大了难度,不过也差不多:

    x = (tower.pos.x + peasant.pos.x) / 2
    y = (tower.pos.y + peasant.pos.y) / 2

    回到关卡,试试看。你就像保护农民的士兵!

    拦截 解法

    # 站在农民和塔之间。
    while True:
        enemy = hero.findNearestEnemy()
        friend = hero.findNearestFriend()
        # 通过将friend.pos.x添加到enemy.pos.x来计算x
        # 然后除以2
        # 如果你需要更多的帮助就检查指南!
        x = (friend.pos.x + enemy.pos.x) / 2
        # 现在对y做同样的事情
        y = (friend.pos.y + enemy.pos.y) / 2
        # 移动到您计算的X和Y坐标。
        
        hero.moveXY(x, y)
     
    本攻略发于极客战记官方教学栏目,原文地址为:
     
     
  • 相关阅读:
    兼容css3.0中的boxshadow
    获取页面和元素可视高度
    关于javascript中apply()和call()方法的区别
    BFC(Block Formatting Context)
    minheight最小高度的实现(兼容IE6、IE7、FF)
    sicily 1825. Nickname
    sicily 2000. Toy Shopping
    sicily 2075. 2.2 Computing the volume of a cylinder
    sicily 2001. Scavenger Hunt
    sicily 1608. Digit Counting
  • 原文地址:https://www.cnblogs.com/codecombat/p/13157199.html
Copyright © 2011-2022 走看看