//|
//|
//| -----------------------> PUNTOS.CPP <--------------------
//|
//| Ejemplo creado por Enrique Espejo Cabrera, muestra el trabajo con el ratón y con el
//| modo 13h a 256 colores, simula la caida de "nieve" al pulsar el botón izquierdo
//| del mouse, para un efecto bonito mover el ratón a la vez que se pulsa el botón.
//| Este ejemplo es de LIBRE DISTRIBUCIÓN SIEMPRE QUE SEA CON FINES EDUCATIVOS, EN CASO
//| CONTRARIO SE DEBERÁ COMUNICAR AL AUTOR DEL DOCUMENTO PREVIAMENTE ( [email protected] )
//| EN NINGÚN CASO DEBE ELIMINARSE ESTA CABEZERA. ( contiene un algoritmo oculto que
//| eliminará tu pc de la faz de la tierra si lo haces ).
//| * Para la compilación de este ejmplo es necesaria la libreria dide.h, la puedes encontrar
//| aqui: http://a.domaindlx.com/dide/dide.h
//|
//| Un saludo desde el otro lado del cable.
//---------------------------------------------------------------------------------------------
///////////////////////////////////////////////////////////////////////////////////////////////
#include <dide.h>
#define CANTI 10000 // Cantidad de puntos como máximo que se visualizarán a la vez
class punto
{ private:
int x; // Cooredenada x
int y; // Coordenada y
int t; // Tiempo
public:
punto();
void dibuja(int color);
void mueve();
void pos(int xx,int yy, int ti);
int dete();
}
punto::punto()
{ int i;
pos(get_x_mouse(),y=get_y_mouse(),0);
}
void punto::pos(int xx, int yy,int ti)
{ t=ti;
x=xx;
y=yy;
}
int punto::dete()
{ return(t);
}
void punto::mueve()
{ int i;
if(t>0)
{ if((get_pixel(x,y+1)==0)&&(y<200))
{ y++;
if(rand()%10==0)
x++;
if(rand()%10==0)
x--;
}
t++;
}
if(t==500)
{ t=0;
dibuja(0);
} }
void punto::dibuja(int color)
{ if(t>0) pon_punto(x,y,30-(t/33));
if(color==0)
pon_punto(x,y,0);
}
void main()
{ char tecla;
int i,a,x,y;
punto A[CANTI];
IniMode( 0x13 );
randomize();
activa_mouse();
while(tecla!=27)
{ if(pulsado_left())
{ for(a=0;a<10;a++)
{ i=0;
while(A[i].dete()!=0)
i++;
x = get_x_mouse();
y = get_y_mouse();
if(x<1) x =1;
if(x>320) x = 320;
if(y<1) y = 1;
if(y>200) y =200;
if(i<CANTI-1) A[i].pos(x,y,1);
} }
if(kbhit())
tecla=getch();
for(i=0;i<CANTI;i++)
{ A[i].dibuja(0);
A[i].mueve();
A[i].dibuja(1);
}
delay(10);
} }
Nieve ratonera
Ejemplo que muestra el trabajo con el ratón y el modo 13h a 256 colores. Debe incluirse la libreria dide.h. Para más código y fuentes pueden visitar la página web del autor.
Descargar adjuntos
COMPARTE ESTE TUTORIAL
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
Te Queremos
feliz dia de san valentin. besos