Help please
# Keep your archers back while summoning soldiers to attack.
def pickUpCoin():
# Collect coins.
coin = hero.findNearestItem()
if coin:
hero.move(coin.pos)
pass
def summonTroops():
# Summon soldiers if you have the gold.
if hero.gold > hero.costOf("soldier"):
hero.summon("soldier")
pass
# 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.
friend = hero.findFriends()
if friend and friend.type == "soldier":
enemy = friend.findNearestEnemy()
if enemy:
hero.command(friend, "attack", enemy)
pass
# 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():
friend = hero.findFriends()
if friend and friend.type == "archer":
enemy = friend.findNearestEnemy()
archer.pos = (23, archer.pos.y)
while True:
hero.command(friend, "move", archer.pos)
if enemy and friend.distanceTo(enemy) <= 25:
hero.command(friend, "move", archer.pos)
hero.command(friend, "attack", enemy) and hero.command(friend, "move", archer.pos)
hero.command(friend, "move", archer.pos)
else:
hero.command(friend, "move", archer.pos)
while True:
pickUpCoin()
summonTroops()
friends = hero.findFriends()
for friend in friends:
if friend.type == "soldier":
# This friend will be assigned to the variable soldier in commandSoldier
commandSoldier(friend)
elif friend.type == "archer":
# Be sure to command your archers.
commandArcher(friend)
pass
