Ayuda en la lógica

Rev
22 de Enero del 2004
Por favor podrian ayudarme en la lógica del programa del gusano puesto que lo único que me falta es qué se desplace correctamente por ejemplo cuál sería una manera lógica de qué estos gusanos en diferentes posiciones eliminen su cola

oxx

ox
xx

oxxx
x
xxxx

Siendo el circulo la cola del gusano que debe ser borrado; por favor es todo lo que me falta, esto lo desarrollo en modo texto por lo que las medidas son:
x=78
y=50
utilizo las posiciones de x e y para desplazar el gusano pero lo que me falta es eliminar su cola.
Si pueden ayudarme por favor, muchas gracias.

chuidiang
22 de Enero del 2004
Hazte una estructura para guardar las coordenadas de una posicion

struct posicion
{
int x;
int y;
};

Hazte un array de estas estructuras para guardar los distintos puntos que componen el gusano.

Cuando el gusano se desplace, borras la posicion de un extremo del array, desplazas todo el array una posicion para hacer hueco (desechando la posicion que has borrado) y en el hueco metes la posición de la cabeza.

Si P1, P2, P3 son las posiciones en el array y P3 es la cabeza y P1 la cola, al hacer el movimiento haces

borrar en pantalla (p1). Se borra la cola
desplazar array. Me queda [P2, P3, <hueco>]
pintar cabeza y meterla en arrray. Queda [P2, P3, P4]

No se si me he explicado ...

Se bueno.