All the soldiers go for the same enemies and it runs out of time
# You can use findNearestEnemy() on your soldiers to get their nearest enemy instead of yours.
while True:
friends = hero.findFriends()
# Use for-loop and for each friend:
for i in range(len(friends)):
friend = friends[i]
enemy = hero.findNearestEnemy()
# If they see an enemy then command to attack.
if enemy:
hero.command(friend, "attack", enemy)
# Command to move east by small steps.
else:
hero.command(friend, "move",{ "x":friend.pos.x + 1, "y":friend.pos.y})