其他分享
首页 > 其他分享> > 「网易官方」极客战记(codecombat)攻略-沙漠-拦截-interception

「网易官方」极客战记(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)   本攻略发于极客战记官方教学栏目,原文地址为: https://codecombat.163.com/news/jikezhanji-lanjie   极客战记——学编程,用玩的  

标签:codecombat,极客,hero,enemy,农民,pos,战记,friend,10
来源: https://www.cnblogs.com/codecombat/p/13157199.html