The recommended way to solve this problem is to,

Loop forever

Turn mouse coordinates into acceleration values

Add acceleration values to ship's current speed

doTogether

move ship forward at its horizontal speed

move ship up at its vertical speed

But its still that first step (turn mouse cords into acceleration) that is causing me troubles.

OK. The 1st step is to turn the mouse coordinates into a normalized range. What I'm going to do is map the values into the range 0 to 1. So to do this for the horizontal part its going to look like controlPad.getMouseX()/controlPad.getMouseMaxX().

Now I have a value that lies between zero and 1 - it will be zero when the mouse is at the left edge of the screen and 1 when it is at the right. That’s sort of the reverse of what I want - I want max on the left and min on the right. I could go with

1 - controlPad.getMouseX()/controlPad.getMouseMaxX().

That gives me a range 1 (left) down to 0. Its getting close to what I want (if we multiply by MAX_H_ACCEL we get values from MAX_H_ACCEL on the left edge - which is correct down to zero on the right edge - which is wrong, should be -MAX_H_ACCEL). The final step (before the multiplication by MAX_H_ACCEL) is to do another simply step to shift that 1 to 0 range to the 1 to -1 range (you can do this by multiplying then adding an offset).

__Can I get some help on the Alice code?__