Yo me crearía una matriz de 2 dimensiones a modo de tablero
Luego, las navecitas, aparecerían centradas en la fila superior, dejando un espacio a ambos lados para poder hacer el zig-zag. A la hora de avanzar las invasoras, sería cuestión de moverlas a la fila inferior y desplazarlas sucesivamente a izquierda y derecha (para eso reservamos el hueco a ambos lados).
CONST maxfilas=***;
maxcolumnas=***;
TYPE TNave=RECORD
esta:BOOLEAN;//para indicar si la nave está, o es un simple cuadrado vacío
color:BYTE;
figura:CHAR;//para ponerle la "figurita" que quieras
END;
TTablero=ARRAY[1..maxfilas,1..maxcolumnas] OF TNave.
TDesplazamiento=(dderecha,dizquierda,darriba,dabajo);
Con esto, creo que lo mínimo está