My code for zoo keeper:
# Protect the cage.
# Put a soldier at each 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. Collect 80 gold.
if hero.gold < 80:
item = hero.findNearestItem()
hero.move(item.pos)
# 2. Build 4 soldiers.
for i in range(4):
hero.summon("soldier")
# 3. Send your soldiers into position.
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:
# Command friend to attack.
pass
hero.command(friend, "attack", enemy)
else:
# Command friend to move to point.
pass
hero.command(friend, "defend", point)
hero.command(friend, "defend", point)
hero.command(friend, "defend", point)
hero.command(friend, "defend", point)
abc
January 4, 2021, 5:28pm
3
You only need one command for commanding the friend to defend the point.
My hero just keeps on trying to summon soldiers and the soldiers do nothing
Dragonlouis:
pass
if you need a pass, use it after the command
1 Like
abc
January 4, 2021, 5:29pm
6
Here instead of using an if statement, use a while statement. So while your hero’s gold is less than 80, he will collect gold.
1 Like
I summoned all okay but not defending
Dragonlouis:
pass
delete this it stops yu from commanding
2 Likes
check if there is and item
and just as @abc said use a while loop
1 Like
hey, wait a moment, I think theres something else wrong
YAY! Thank you for helping me put everything together and it worked!
2 Likes
i bet someone needs to click a solution checkbox lol
clickthe tickbox next to the post that helped most
2 Likes
Ok, help with hunting party now please
while True:
friends = hero.findFriends()
# Use for-loop and for each friend:
for friend in friends:
# If they see an enemy then command to attack.
enemy = hero.findNearestEnemy
if enemy:
hero.command(friend, "attack", enemy)
# Command to move east by small steps.
hero.command(friend, "move", {'x' + 1, 'y'})
Dragonlouis:
hero.find
you need to make it so your friends find their nearest enemy
Dragonlouis:
{'x' + 1, 'y'}
your telling your friends to move x plus one, but what x are they going to move apon same for the y cordinates
1 Like
How to make friends find nearest enemy and what do you mean for your second post
Do you just do friend.findNearestEnemy or something