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