Su movimiento depende de lo que intentes hacer. Se van a mover horizontalmente? verticalmente? movimiento complejo según la posición del jugador? Tendrás que definir los patrones de movimiento que quieres y después implementarlos con funciones matemáticas.
Por lo que veo, el código está bastante mal organizado. Si estás usando C++ usa clases!!
Podrías tener una clase que cree y manipule los marcianos como por ejemplo esta:
Código:
class cMarciano{
public:
~cMarciano();
void disparar();
static void anadirMarciano(float x, float y);
static void moverMarcianos();
static vector<cMarciano*> marcianitos;
private:
cMarciano();
float x, y;
};
No hay UNA manera de hacerlo, todo depende de lo que tú prefieras y con lo que mejor te manejes. Pero igualmente usa clases que van a hacer tu código más limpo, mejor estructurado y menos confuso.