# Basin Stampede - Being run over by yaks when they spawn in hero's y position

#1

I’m trying to use the code below but that code means I get run over by yaks when a yak spawns close to my y position. Whereas the 2nd set of codes are able to run just fine. The only difference between the 2 codes is " if(enemy.pos.y >= hero.pos.y)" vs. " if(enemy.pos.y > hero.pos.y)". I want to use " if(enemy.pos.y >= hero.pos.y)" just in case a yak ever spawned in the same y position as the hero. Why doesn’t it work?

The below code leads to a yak running me over when it’s on my y position.

``````// Keep moving right, but adjust up and down as you go.

while(true) {
var enemy = hero.findNearestEnemy();
var xPos = hero.pos.x + 5;
var yPos = 17;
if(enemy) {
// Adjust y up or down to get away from yaks.
if(enemy.pos.y >= hero.pos.y) {
// If the Yak is above you, subtract 3 from yPos.
yPos -=3;
} else if (enemy.pos.y < hero.pos.y) {
// If the Yak is below you, add 3 to yPos.
yPos +=3;
}
}
hero.moveXY(xPos, yPos);
}
``````

The below works as intended and I’m always able to complete the level, even when the yak spawns on hero’s position. I don’t understand why.

``````// Keep moving right, but adjust up and down as you go.

while(true) {
var enemy = hero.findNearestEnemy();
var xPos = hero.pos.x + 5;
var yPos = 17;
if(enemy) {
// Adjust y up or down to get away from yaks.
if(enemy.pos.y > hero.pos.y) {
// If the Yak is above you, subtract 3 from yPos.
yPos -=3;
} else if (enemy.pos.y < hero.pos.y) {
// If the Yak is below you, add 3 to yPos.
yPos +=3;
}
}
hero.moveXY(xPos, yPos);
}
``````
#2

So, the default code uses `>`/`<` because if the Yak spawns at your yPos, you move back to the center of the line at yPos = 17. Then the hero decides which direction the Yak is and adjusts up or down.

In your `>=` case, if there is a yak is at your yPos at the bottom lane, you’ll remain in the same spot at yPos = 17 - 3 and eventually get hit.

1 Like