That is a bug. Perhaps you are using `int' in some place where you should be using `double'?
Nope. On second thought, I shouldn't have used "double" in the first place. Pixel manipulation don't need to use double, right? I'm using "int" variables to calculate the simple pathing in a one-dimensional array, so it wouldn't be wise to use a double as an array iterator.
I'll try to find my logic errors. I'm pretty sure calculating xVel and yVel are done at the same pace, and not calculating the results separately.
Or better yet, I will upload my source code here, archived into ZIP, exported from Eclipse. (Hosted at Mediafire)