Cannot completed “Misty Island Mine”.
Got error
My solution:
def findBestItem(friend, excludeItems):
items = friend.findItems()
bestItem = None
bestItemValue = 0
for item in items:
if item in excludeItems:
continue
value = item.value / friend.distanceTo(item)
if value > bestItemValue:
bestItemValue = value
bestItem = item
return bestItem
while True:
peasants = hero.findByType("peasant")
claimedItems = []
for peasant in peasants:
nearest = peasant.findNearestEnemy()
if nearest and peasant.distanceTo(nearest) < 15 and nearest.target == peasant:
if peasant.gold >= peasant.costOf("decoy"):
self.command(peasant, "buildXY", "decoy", peasant.pos.x - 2, peasant.pos.y)
else:
item = findBestItem(peasant, claimedItems)
if item:
claimedItems.append(item)
hero.command(peasant, "move", item.pos)