This is a bit of a maths question as much as java i think.

i have been stuck for about 3 weeks trying to make a silly racing car game. everything was going well apart from controlling the little things:

public void move()

{

//place checks in here as well and move from center of object

double radi = Math.toRadians(angle);// left over from one of many failed experiments

double x= Math.cos(angle);

double y= Math.sin(angle);

double fullspeed = speed * 1.5; //makes positive number change name

int centerX = x + 25;

int centerY = y + 25;

int addToX = (int)Math.round(fullspeed * x);

int addToY = (int)Math.round(y* fullspeed);

//this need to account for center

if(((x + addToX >= 50) && (x + addToX <=750)) && ((y + addToY >= 100) && (y + addToY <=550 )))

{

changePos(addToX, addToY);

}

}

private void changePos(int xMove, int yMove)

{

x = x + xMove;

y = y + yMove;

}

my cars are going all over the place. they start ok then start reversing and all sorts very un predictable.

when i do cos(270) on calculater i get 0 and sin(270) i get -1; cos(90) = 0 and sin(90) = 1. this is the pattern i want and expected.

but i am getting from the code:

Math.sin(270) = -0.1760459464712114

Math.cos(270) = 0.9843819506325049

on my calculater there is just "cos" & "sin" + "cosh" & "sinh" is this why and how do i get the results i need.