(点击图片进入关卡)
保护雪人的笼子免遭食人魔的蓄意破坏。
简介
不要让食人魔打开盒子!
默认代码
# 保护笼子。
# 放一个士兵在每一个 X 的位置
points = []
points[0] = {"x": 33, "y": 42}
points[1] = {"x": 47, "y": 42}
points[2] = {"x": 33, "y": 26}
points[3] = {"x": 47, "y": 26}
# 1.收集80金币。
# 2.建造4个士兵。
for i in range(4):
hero.summon("soldier")
# 3.派你的士兵到特定的位置上。
while True:
friends = hero.findFriends()
for j in range(len(friends)):
point = points[j]
friend = friends[j]
enemy = friend.findNearestEnemy()
if enemy and enemy.team == "ogres" and friend.distanceTo(enemy) < 5:
# 命令友方攻击。
pass
else:
# 命令的朋友移动到特定点上。
pass
概览
这个关卡显示了如何在 for 循环中使用一系列数字来访问多个相关数组。
你还会看到如何让士兵保卫某个地点。
收集硬币时,可以停在 80,因为每个士兵的费用为 20。
动物园管理员解法
# 保护笼子。
# 放一个士兵在每一个 X 的位置
points = []
points[0] = {"x": 33, "y": 42}
points[1] = {"x": 47, "y": 42}
points[2] = {"x": 33, "y": 26}
points[3] = {"x": 47, "y": 26}
# 1.收集80金币。
while hero.gold < 80:
coin = hero.findNearest(hero.findItems())
if coin:
hero.move(coin.pos)
# 2.建造4个士兵。
for i in range(4):
hero.summon("soldier")
# 3.派你的士兵到特定的位置上。
while True:
friends = hero.findFriends()
for j in range(len(friends)):
point = points[j]
friend = friends[j]
enemy = friend.findNearestEnemy()
if enemy and enemy.team == "ogres" and friend.distanceTo(enemy) < 5:
# 命令友方攻击。
hero.command(friend, "attack", enemy)
else:
# 命令的朋友移动到特定点上。
hero.command(friend, "move", point)
本攻略发于极客战记官方教学栏目,原文地址为:
https://codecombat.163.com/news/jikezhanji-dongwuyuanguanliyuan
来源:oschina
链接:https://my.oschina.net/u/4441837/blog/4527688