Play Home Contribute Github Join Us! Discourse Staff Members Github Contribution Guides Team

[SOLVED]Hunters and Prey Python Level Help

For some reason, the archers are not doing what they’re supposed to be doing.
Here is my code.

# Ogres are trying to take out your reindeer!
# Keep your archers back while summoning soldiers to attack.

def pickUpCoin():
    # Collect coins.
    items = hero.findItems()
    nearestCoin = hero.findNearest(items)
    if nearestCoin:

def summonTroops():
    # Summon soldiers if you have the gold.
    if > hero.costOf("soldier"):
    if > hero.costOf("archer"):
# This function has an argument named soldier.
# Arguments are like variables.
# The value of an argument is determined when the function is called.
def commandSoldier(soldier):
    # Soldiers should attack enemies.
    for soldier in hero.findFriends():
        enemy = soldier.findNearestEnemy()
        if enemy:
            hero.command(soldier, "attack", enemy)

# Write a commandArcher function to tell your archers what to do!
# It should take one argument that will represent the archer passed to the function when it's called.
# Archers should only attack enemies who are closer than 25 meters, otherwise, stay still.
def commandArcher(archer):
    for archer in hero.findFriends():
        enemy = archer.findNearestEnemy()
        if enemy:
            distance = archer.distanceTo(enemy)
            if distance < 25:
                hero.command(archer, "attack", enemy)
                hero.command(archer, "move", archer.pos)
while True:
    friends = hero.findFriends()
    for friend in friends:
        if friend.type == "soldier":
            # This friend will be assigned to the variable soldier in commandSoldier
        elif friend.type == "archer":
            # Be sure to command your archers.

To start, in your pickUpCoin function, try setting a condition using a while loop…while <= costOF, pick up coins, otherwise, move to the next line of code.

Ok thanks I am going to try that.