# Reindeer Tender Help! \[SOLVED\]

**URL:** <https://discourse.codecombat.com/t/reindeer-tender-help-solved/28078>\
**Category:** Level Help\
**Created:** [March 23, 2021, 1:11am UTC](https://discourse.codecombat.com/t/reindeer-tender-help-solved/28078 "2021-03-23T01:11:13Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ozakesus87](https://avatars.discourse-cdn.com/v4/letter/o/278dde/32.png) [@Ozakesus87](https://discourse.codecombat.com/u/Ozakesus87)\
**Post date:** [March 23, 2021, 1:11am UTC](https://discourse.codecombat.com/t/reindeer-tender-help-solved/28078/1 "2021-03-23T01:11:13Z")

</div>

I need help:

```javascript
// This is the array of pen positions
var 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.
var penOccupants = [null, null, null, null, null];

// And this array contains our reindeer.
var friends = hero.findFriends();

// Figure out which reindeer are already in their pens.
var reindeer = null;
for (var deerIndex = 0; deerIndex < friends.length; deerIndex++) {
    reindeer = friends[deerIndex];
    
    // For each position check if it matches a reindeer.
    for (var penIndex = 0; penIndex < penPositions.length; penIndex++) {
        var penPos = penPositions[penIndex];
        
        if (penPos.x == reindeer.pos.x && penPos.y == reindeer.pos.y) {
            // Put the reindeer in occupants at penIndex
            penOccupants[penIndex] = reindeer;
            // Remove the reindeer from the friends array.
            reindeer = null;
            // break out of the inner loop here:
            break;
        }
    }
}

// Assign the remaining reindeer to new positions.
for (deerIndex = 0; deerIndex < friends.length; deerIndex++) {
    // If the reindeer is null, use continue:
    if(reindeer === null) {
     continue;   
    }
    
    // Look for the first pen with nothing.
    for (var occIndex = 0; occIndex < penOccupants.length; occIndex++) {
        // If there is nothing, the pen is open:
        if (penOccupants[occIndex] === null) {
            // Put the reindeer in the occupants array.
            penOccupants[occIndex] = reindeer;
            // Command the reindeer to move to the pen.
            hero.command(reindeer, "move", penPositions[deerIndex]);
            // break out early so we don't reassign:
            break;
        }
    }
}

```

Please tell me what I’m doing wrong.

---

<div class="post-metadata">

**Author:** ![jka2706](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.codecombat.com/jka2706/32/13636_2.png) [@jka2706](https://discourse.codecombat.com/u/jka2706)\
**Post date:** [March 23, 2021, 8:58am UTC](https://discourse.codecombat.com/t/reindeer-tender-help-solved/28078/2 "2021-03-23T08:58:42Z")

</div>

Hi Ozakesus87,

Three changes:

- Line 23 - change “reindeer = null” to “friends[deerIndex] = null”
- Line 32 - you need to redefine reindeer, otherwise it will just keep the one reindeer already in the variable, and the hero will command that reindeer to 3 different pens.
- Line 45 - “hero.command(reindeer, “move”, penPositions[deerIndex])” should be “hero.command(reindeer, “move”, penPositions[occIndex]);”.

Post again if you need more help.

Jenny

---

<div class="post-metadata">

**Author:** ![Ozakesus87](https://avatars.discourse-cdn.com/v4/letter/o/278dde/32.png) [@Ozakesus87](https://discourse.codecombat.com/u/Ozakesus87)\
**Post date:** [March 24, 2021, 12:02am UTC](https://discourse.codecombat.com/t/reindeer-tender-help-solved/28078/3 "2021-03-24T00:02:53Z")

</div>

I fixed what you said was wrong, and now all the reindeer move. But some of them still go to occupied pens. Is there something else I’m missing?

---

<div class="post-metadata">

**Author:** ![jka2706](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.codecombat.com/jka2706/32/13636_2.png) [@jka2706](https://discourse.codecombat.com/u/jka2706)\
**Post date:** [March 24, 2021, 9:23am UTC](https://discourse.codecombat.com/t/reindeer-tender-help-solved/28078/4 "2021-03-24T09:23:35Z")

</div>

Can you post your new code?

---

<div class="post-metadata">

**Author:** ![Ozakesus87](https://avatars.discourse-cdn.com/v4/letter/o/278dde/32.png) [@Ozakesus87](https://discourse.codecombat.com/u/Ozakesus87)\
**Post date:** [March 24, 2021, 11:16pm UTC](https://discourse.codecombat.com/t/reindeer-tender-help-solved/28078/5 "2021-03-24T23:16:09Z")

</div>

```javascript
// This is the array of pen positions
var 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.
var penOccupants = [null, null, null, null, null];

// And this array contains our reindeer.
var friends = hero.findFriends();

// Figure out which reindeer are already in their pens.
var reindeer = null;
for (var deerIndex = 0; deerIndex < friends.length; deerIndex++) {
    reindeer = friends[deerIndex];
    
    // For each position check if it matches a reindeer.
    for (var penIndex = 0; penIndex < penPositions.length; penIndex++) {
        var penPos = penPositions[penIndex];
        
        if (penPos.x == reindeer.pos.x && penPos.y == reindeer.pos.y) {
            // Put the reindeer in occupants at penIndex
            reindeer = penOccupants[penIndex];
            // Remove the reindeer from the friends array.
            friends[deerIndex] = null;
            // break out of the inner loop here:
            break;
        }
    }
}

// Assign the remaining reindeer to new positions.
for (deerIndex = 0; deerIndex < friends.length; deerIndex++) {
    // If the reindeer is null, use continue:
    reindeer = friends[deerIndex];
    if(reindeer === null) {
     continue;   
    }
    
    // Look for the first pen with nothing.
    for (var occIndex = 0; occIndex < penOccupants.length; occIndex++) {
        // If there is nothing, the pen is open:
        if (penOccupants[occIndex] === null) {
            // Put the reindeer in the occupants array.
            penOccupants[occIndex] = reindeer;
            // Command the reindeer to move to the pen.
            hero.command(reindeer, "move", penPositions[occIndex]);
            // break out early so we don't reassign:
            break;
        }
    }
}

```

---

<div class="post-metadata">

**Author:** ![jka2706](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.codecombat.com/jka2706/32/13636_2.png) [@jka2706](https://discourse.codecombat.com/u/jka2706)\
**Post date:** [March 25, 2021, 8:10am UTC](https://discourse.codecombat.com/t/reindeer-tender-help-solved/28078/6 "2021-03-25T08:10:39Z")

</div>

Line 21:

```python
reindeer = penOccupants[penIndex];

```

This should be the other way round!

---

<div class="post-metadata">

**Author:** ![Ozakesus87](https://avatars.discourse-cdn.com/v4/letter/o/278dde/32.png) [@Ozakesus87](https://discourse.codecombat.com/u/Ozakesus87)\
**Post date:** [March 27, 2021, 6:40pm UTC](https://discourse.codecombat.com/t/reindeer-tender-help-solved/28078/7 "2021-03-27T18:40:44Z")

</div>

Thanks for helping me I solved it now!!!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/codecombat/original/2X/a/a9445509d1a758c41b5ddcddc8c8e20a5dedb67f.png) [@system](https://discourse.codecombat.com/u/system)\
**Post date:** [March 28, 2021, 6:41am UTC](https://discourse.codecombat.com/t/reindeer-tender-help-solved/28078/8 "2021-03-28T06:41:27Z")

</div>

Closed on March 28, 2021, 6:41am UTC

This topic was automatically closed 12 hours after the last reply. New replies are no longer allowed.
