HELP! Reindeer Tender

Hi… I know that um…

But I have a different problem.

Here is my code:

# This is the array of pen positions
penPositions = [ {"x":20,"y":24}, {"x":28,"y":24}, {"x":36,"y":24}, {"x":44,"y":24}, {"x":52,"y":24} ]

# Use this array to keep track of each pen's reindeer.
penOccupants = [ None, None, None, None, None, ]

# And this array contains our reindeer.
friends = hero.findFriends()

# Figure out which reindeer are already in their pens.
for deerIndex in range(len(friends)):
    reindeer = friends[deerIndex]
    
    # For each position check if it matches a reindeer.
    for penIndex in range(len(penPositions)):
        penPos = penPositions[penIndex]
        
        if penPos.x == reindeer.pos.x and penPos.y == reindeer.pos.y:
            # Put the reindeer in occupants at penIndex
            penOccupants[penIndex] = reindeer
            # Remove the reindeer from the friends array.
            friends[reindeer] = None
            # break out of the inner loop here:
            break
            pass

# Assign the remaining reindeer to new positions.
for deerIndex in range(len(friends)):
    # If the reindeer is null, use continue:
    if not deerIndex:
        continue
    
    # Look for the first pen with nothing.
    for occIndex in range(len(penOccupants)):
        # If there is nothing, the pen is open:
        if not penOccupants[occIndex]:
            # Put the reindeer in the occupants array.
            occupants[occIndex] = friends[deerIndex]
            # Command the reindeer to move to the pen.
            hero.command(friends[deerIndex], "move", target)
            # break out early so we don't reassign:
            break
            pass

What’s happening is that the reindeer-
Don’t do anything.

Help would be appreciated,

@MarmiteOnToast

:slight_smile: I can wait

Chars are made of grain and dairy

I found a few mistakes:
In the first for,

You should remove the reindeer from the friends array (which is deerIndex), so it should be friends[deerIndex]=None.

Here, you should add the reindeer in the occupants array, and here, you should use what you did in the first fors, the occupants[occIndex] should become a reindeer, which is occupants[occIndex] = reindeer.
And the final mistake, is here:

Where do you command the reindeer move? Try to think of this yourself.

And sorry for the late reply.

1 Like