# Circle Walking Bug?

#1

I’m probably just very bad at coding…
All my character does is walk in a straight line.

``````        // Mirror your partner's movement around the center X mark.
// Vectors can be thought of as an x, y position
// Vectors can also represent the distance and direction between two positions

// use Vector.subtract(vector1, vector2) to find the direction and distance from vector2 to vector1
// use Vector.add(vector1, vector2) to find the position you get when you start from vector1 and follow vector2

// Create a new Vector at the center X point
var center = new Vector(40, 34);

// A unit's position is actually a Vector!
var partner = this.findByType("peasant")[0];
loop {
// First, you want to find the Vector (distance and direction) of the partner's position to the center X.
var vector = Vector.subtract(center, partner);

// Second, find the position your hero should moveTo starting from center, and following vector.

// Third, move to the moveToPos position.
this.move(moveTo.pos);
}
``````

#2

`moveTo` is already a position. You should use `this.move(moveTo)`.

I wonder this even compiles, as moveTo shouldn’t even have a pos-attribute.

#3

It just says that I should move to a {x:number, y:number} position…

#4

Ah, got it. You need to use your partners position in the `Vector.subtract`, not your partner.

``````var vector = Vector.subtract(center, partner.pos);
var moveTo = //...
``````

#5

Thank you, it worked!!!

#6

Any idea why this.move(moveTo.pos); make my hero run to into the right wall?? I had to use:
this.move({x: moveTo.x, y: moveTo.y});

#7

Apparently, `moveTo` is already a position, so you can probably just use `this.move(moveTo)`.

#8

Thanks @ChronistGilver, and especially @J_F_B_M for pointing this out already