• Jueves 7 de Noviembre de 2024, 00:43

Autor Tema:  Re: movimiento de circulitos  (Leído 1559 veces)

mane_ssa

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: movimiento de circulitos
« en: Viernes 30 de Mayo de 2003, 23:38 »
0
hola: necesito ayuddaaaaaaa!! :think:
ehh tratadp de hacer un programa donde salgan cuatro pelotitas de las eskinas de la pantalla y k en un punto det. choken y se acabe es programa ,,,, mi pregunta es ¿como le doy movimientoa las pelotitas??:ayuda: porfavor si alguien sabe!!!
grax....

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: movimiento de circulitos
« Respuesta #1 en: Sábado 31 de Mayo de 2003, 00:41 »
0
me imagino que estas hablando de modo texto.. cierto?

alternativa rapida,

lo que debes hacer es escribir el caracter en una nuev posicion...
--problema queda la posicion anterior todavia en pantalla

--solucion..
coo es modo texto es rapido borrar toda la pantalla:

ejemplo:

 
Código: Text
  1.  
  2. int ix, iy;
  3. gotoxy(0,0);printf("*");
  4.  
  5. for(ix=0;ix<20;ix++)
  6. {
  7.   for(iy=0;iy<20;iy++)
  8.   {
  9.      clrscr();
  10.      gotoxy(ix,iy);printf("*");
  11.      delay(500);
  12.   }
  13. }
  14.  
  15.  

otra forma, mas eficiente es borrar solo la posicion anterior


 
Código: Text
  1.  
  2. int ix, iy;
  3. gotoxy(0,0);printf("*");
  4.  
  5. for(ix=0;ix<20;ix++)
  6. {
  7.   for(iy=0;iy<20;iy++)
  8.   {
  9.      gotoxy(ix,iy);printf("*");
  10.      delay(500);
  11.      gotoxy(ix,iy);printf(" ");
  12.   }
  13. }
  14.  
  15.  

Para saber cuando se estrellan, tienes que analizar las coordenadas, cada vez que se mueven.


Espero que te haya sido de ayuda, los mismos principios se aplican al modo grafico, pero las funciones serian otras.


Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

mane_ssa

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: movimiento de circulitos
« Respuesta #2 en: Martes 3 de Junio de 2003, 02:17 »
0
hola:
mira e hecho algo para hacer los circulos y tengo esto

#include <graphics.h>
#include <conio.h>
#include <iostream.h>

int main (void)     //dibujar circulos
{
  int controlador, modo;
  controlador = DETECT;
  modo = 0;
  initgraph(& controlador, & modo, "c:Tcbin");
  setbkcolor ( BLACK ); //color de fondo

  setcolor (RED);               // circulo rojo
  circle (10, 10, 10);
  setfillstyle(LINE_FILL,RED);
  floodfill(10,10,RED);

  setcolor (GREEN);
  circle ( 10, 468, 10);
  setfillstyle(HATCH_FILL,GREEN);
  floodfill(10,468,GREEN);

  setcolor (YELLOW);
  circle (629, 10, 10);
  setfillstyle(XHATCH_FILL,YELLOW);
  floodfill(629,10,YELLOW);

  setcolor (BLUE);
  circle (629, 469, 10);
  setfillstyle(WIDE_DOT_FILL,BLUE);
  floodfill(629,469,BLUE);

  getch ();
  restorecrtmode();
  return 0;
}



mi pregunta como agrego alguna funcion para darle el movimiento???

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: movimiento de circulitos
« Respuesta #3 en: Martes 3 de Junio de 2003, 08:04 »
0
Eso exactamente es lo que te explique arriba...

revisa...borrar, dibujar...borrar...dibjar y asi sucesivamente..de esta manera es como se hace cualquier animacion, obviamente en tu caso y para no complicarte la vida, deberas borrar todo el fondo y volver a dibujar en la nueva posicion... todo esto dentro de un ciclo...
es necesario borrar puesto que si dibujas el obnjeto en una nueva posicion, de todos modos se vea la anterior...

lee bien los consejo que te di y aplicalos, no esta dificil de entender, si tienes dudas, me cuentas.


Juank
Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

karlcox

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: movimiento de circulitos
« Respuesta #4 en: Martes 3 de Junio de 2003, 18:30 »
0
si fuera de modo grafico, pue yo lo haria de esta forma, hago un circulo del color que quiera, y otro del color del fondo(como si fuera una mascara ), y haria un for que incrementa las coordenadas en donde me pinte primero el circulo que yo quiero mover, despues un loop para el espacio de tiempo, y despues coloco el circulo mascara, con la mismas coordenadas:

mover un circulo en el eje x, con valor en el  eje y=30
for (i=5;i<= 50;i++){
     circle( ejex(que es valor i), ejey(qu e vale 30), radio, color)

    loop(500); //el tiempo que queremos
    //sé pinta el circulo mascara
circle( ejex(que es valor i), ejey(qu e vale 30), radio, color(el del fondo))
loop(500)/intervalo de tiempo
}

Y pues supongo que para estrellar cada circulo, seria como bueno, que la diferencia d emovimiento entre los dos circulos sea como igual ose me refiero a que si, colo un circulo en la esquina de la izquierda y el otro en la esquina d ela derecha, tonces, al que la izquierda le suma un vlor en coordenada en x, lo que le va restar al de la derecha, para despues preguntar, si las coordenadas son iguales.

Espero le sea de gran ayuda, por que si no pues mmmmm......:oops:

mane_ssa

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: movimiento de circulitos
« Respuesta #5 en: Martes 3 de Junio de 2003, 20:18 »
0
hola graxx por todas las repuestas me han servido caleta ejjeje grax...
miren con este codigo el asterisco en este caso se mueve solamente en vertical y horizontal como lo hago para moverlo diagonalmente!!¿¿¿  

CODIGO:--------------------------------------------------------------------------------
int ix, iy;
gotoxy(0,0);printf("*");

for(ix=0;ix<20;ix++)
{
  for(iy=0;iy<20;iy++)
  {
     gotoxy(ix,iy);printf("*");
     delay(500);
     gotoxy(ix,iy);printf(" ");
  }
}

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
movimiento de circulitos
« Respuesta #6 en: Martes 3 de Junio de 2003, 21:37 »
0
umm veo que eres bastante principiante.. no deberias estar haciendo estas cosas , sino otra clases de ejercicios màs adecuados para tu nivel de aprendizaje...
Lo que hay que hacer es una modificacion sencilla al codigo que pegaste, no te lo doy porque quiero que lo deduscas tu mismo , esa es la unica manera de aprender.

Intenta sacarlo y cualquier cosa me cuentas.

Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io