Well, seifer, as far as I see, it wouldn't really be THAT hard to restart your project... And if you took about like 10 minutes with overthinking a followable system for your program, like putting every whip into a class, then making a container class which will contain all the ships in a matrix of pointers (so it will know which ship is in which poistion without further alignment tinkering) and moving all the ships as one from the container class... You'd only need to make it know which row in its matrix has living ships, then it would know how much area the field of ships will take... So it could very simply move them all... Also, that way, we could as well help you correct something if you have a problem

Edit: oh, yea, I'd also forget the sprite engine, and load the picture of the ships to eighter the container or the ships (depending if you wish to use diff for each or not) into a TDirectDrawSurface, and handle drawing and hit checking in the ship classes.