# I am building a game, and I'm having trouble with borders

Hello, I am making a small game and the borders are not working correctly.

``````void move() {

if (w) {
if (a) {
if (direction > 1 && direction <= 5) {
turn += .03;
}
else {
turn -= .03;
}
}
else if (d) {
if (direction > 3 && direction <= 7) {
turn += .03;
}
else {
turn -= .03;
}
}
else if (direction < 2 || direction > 6) {
turn -= .03;
}
else {
turn += .03;
}

acc.x = .3*cos(turn)*speedmod;
acc.y = .3*sin(turn)*speedmod;
}
if (a && !s && !w) {

if (direction <= 4 && direction > 0) {
turn += .03;
}
else {
turn -= .03;
}

acc.x = .3*cos(turn)*speedmod;
acc.y = .3*sin(turn)*speedmod;
}
if (s) {

if (a) {
if (direction >= 7 || direction <= 3) {
turn += .03;
}
else {
turn -= .03;
}
}
else if (d) {
if (direction >= 5 || direction <= 1) {
turn += .03;
}
else {
turn -= .03;
}
}
else if (direction > 6 || direction <= 2) {
turn += .03;
}
else {
turn -= .03;
}

acc.x = .3*cos(turn)*speedmod;
acc.y = .3*sin(turn)*speedmod;
}
if (d && !s && !w) {
if (direction > 4 && direction <= 8) {
turn += .03;
}
else {
turn -= .03;
}

acc.x = .3*cos(turn)*speedmod;
acc.y = .3*sin(turn)*speedmod;
}

if (turn > 2*PI) {turn = 0;}
if (turn < 0) {turn = 2*PI;}

speed.x += acc.x;
speed.y += acc.y;
pos.x += speed.x;
pos.y += speed.y;
speed.mult(.88);

tspeed = sqrt(speed.x*speed.x+speed.y*speed.y);

acc.x = 0;
acc.y = 0;
}
``````

The movement is long but basically turns the player towards the direction you choose, and accelerates you based on where you are facing.

``````void checkBorders() {
if (pos.x > xtrans + 2*width/3) {xtrans += abs(2.9*speedmod);} //If the position of the tank goes past 2/3 of the screen, move the screen.
else if (pos.x < xtrans + width/3) {xtrans -= abs(2.9*speedmod);}

if (pos.y > ytrans + 2*height/3) {ytrans += abs(2.9*speedmod);}//If pos of tank is < 1/3 of the map, move screen.
else if (pos.y < ytrans + height/3) {ytrans -= abs(2.9*speedmod);}

//Below checks which quadrant the tank is facing.

direction = ceil(turn/(PI/4));

}
``````

Here is where the issue comes up. The check borders function works, but the player slowly moves past the borders I set, even when I have the borders moving faster than the max speed of the player. Making it really fast just makes it jump forward.

1 Like

I am no sure I understand,

Do you want to reverse direction on the border?

Or is this solved / outdated?

If not, can you post the entire code so we can run it?