「网易官方」极客战记(codecombat)攻略-山峰-动物园管理员-zoo-keeper

保护雪人的笼子免遭食人魔的蓄意破坏。
简介

不要让食人魔打开盒子!
默认代码
# 保护笼子。 # 放一个士兵在每一个 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
极客战记——学编程,用玩的