It's probably not movement itself that would give problems. Harder is the apropriate representation.
A good approximation to the location problem would be to divide the ship in a set of spheres, and give the center of the spheres a location vector relative to the ship's center (or another point of reference if that's easier). Then when the ship turns around a certain pivot point, you'd take the location vector of each of the component spheres relative to that pivot point and multiply it with a rotation matrix (note, this only works if matrix multiplications are supported. I don't know if they are). Then you'd translate all the resulting vectors back to location vectors relative to the ship's center and you're done (this means you can ssing things like speed and acceleration to the ship's center without having to change them whenever the ship turns). Collision checking would be done by checking if one of the spheres of one ship intersects with one of the spheres of another ship, which will be slightly harder. This can however be aproximated by reducing one of the spheres to a polygon, and check if any one of the points of that polygon is or will be inside the other sphere.
The problem will however be representing a rotated ship, since ASCII graphics don't realy like being rotated. Basicly, if you'd try to force the ship unto a large grid, like what happens in Dwarf Fortress, you'll horribly distrot everything. That means you'd need to use a small grid and find some way to get the ASCII characters to work with such a grid. But I assume you chose ASCII graphics to keep things simple, in which case this could be a less then desired option