RESPUESTA A LA PREGUNTA NUMERO 908 Bueno, no se si esto resolvera tus dudas, pero te puede resultar un comienzo... 1. trata todos los objetos moviles del juego como elementos de un array de registros, cuya estructura seria algo asi: T_elementos:Record caracteristica1:tipo_lo_que_sea; caracterisrica2:tipo_lo_que_sea; (... ) End; T_Array: Array [1..n] of T_elementos; 2. emplea dos bucles: 1º-en este se actualizaran las coordenadas de pantalla de cada elemento del array (si es que se mueven)...Algo asi como un bucle "For"... For n:=1 to "Longitud del array" Do if (Elemento[n].se_mueve=True) then actualizar las coordenadas dependiendo del vector que siga... End;{if} End;{for} 2º-en este otro, simplemente se volverian a dibujar los objetos con sus nuevas posiciones...venga!!...otro "For"!!... For n:=1 to "longitud del array" Do dibujar los objetos...aqui puedes dibujarlos todos, o solo aquellos que cumplan tus condiciones...al gusto del consumidor... End;{for} ..pueden ser bucles en el programa principal, o procedimientos, tu veras la memoria que quieras consumir...si te decides por los procedimientos, recuerda pasar el array como "Var" siempre... 3. estos bucles deben ejecutarse hasta que se cumpla una condicion de fin de partida...actualizando y dibujando todo el rato... Como puedes ver, esto se puede mejorar un monton, pero la idea esta ahi...espero haberte ayudado. ya me contaras... Luis Gonzalez Fernandez montasoft@yahoo.com