这是一个用TC编的小程序
运行一下会给你一点惊喜的
#include <DOS.H>
#include<graphics.h>
#include<stdlib.h>
#include<math.h>
#define maxcircle 20
main()
{union REGS r;
int dr=DETECT,mode=0;
int mx,my,mc;
int i,ds, color[maxcircle];
double fx,fy,force=0;
double s,x[maxcircle],y[maxcircle],rr[maxcircle];
registerbgidriver(EGAVGA_driver);
initgraph(&dr,&mode,"");
r.x.ax=0;
int86(0X33,&r,&r);
r.x.ax=2;
int86(0x33,&r,&r);
for(i=0;i<maxcircle;i++)
{color[i]=random(16)+1;
x[i]=random(640);
y[i]=random(480);
rr[i]=random(5)+1;
}
while(!kbhit())
{
r.x.ax=3;
int86(0x33,&r,&r);
mx=r.x.cx;
my=r.x.dx;
mc=r.x.bx;
for(i=0;i<maxcircle;i++)
{
fx=mx-320;
fy=my-240;
s=sqrt(fx*fx+fy*fy);
if(s!=0)
{
setcolor(0);
setfillstyle(1,0);
fillellipse(x[i],y[i],rr[i],rr[i]);
setcolor(color[i]);
setfillstyle(1,color[i]);
force=random(50)/(double)10;
x[i]+=fx/s*force;
y[i]+=fy/s*force;
if(x[i]>640)x[i]=0;
if(x[i]<0)x[i]=640;
if(y[i]>480)y[i]=0;
if(y[i]<0)y[i]=480;
fillellipse(x[i],y[i],rr[i],rr[i]);
}
}
if(mc==1)
{
cleardevice();
for(i=0;i<maxcircle;i++)
{x[i]=random(640);
y[i]=random(480);
rr[i]=random(5)+1;
color[i]=random(16)+1;
fillellipse(x[i],y[i],rr[i],rr[i]);
}
}
}
}
运行一下会给你一点惊喜的
#include <DOS.H>
#include<graphics.h>
#include<stdlib.h>
#include<math.h>
#define maxcircle 20
main()
{union REGS r;
int dr=DETECT,mode=0;
int mx,my,mc;
int i,ds, color[maxcircle];
double fx,fy,force=0;
double s,x[maxcircle],y[maxcircle],rr[maxcircle];
registerbgidriver(EGAVGA_driver);
initgraph(&dr,&mode,"");
r.x.ax=0;
int86(0X33,&r,&r);
r.x.ax=2;
int86(0x33,&r,&r);
for(i=0;i<maxcircle;i++)
{color[i]=random(16)+1;
x[i]=random(640);
y[i]=random(480);
rr[i]=random(5)+1;
}
while(!kbhit())
{
r.x.ax=3;
int86(0x33,&r,&r);
mx=r.x.cx;
my=r.x.dx;
mc=r.x.bx;
for(i=0;i<maxcircle;i++)
{
fx=mx-320;
fy=my-240;
s=sqrt(fx*fx+fy*fy);
if(s!=0)
{
setcolor(0);
setfillstyle(1,0);
fillellipse(x[i],y[i],rr[i],rr[i]);
setcolor(color[i]);
setfillstyle(1,color[i]);
force=random(50)/(double)10;
x[i]+=fx/s*force;
y[i]+=fy/s*force;
if(x[i]>640)x[i]=0;
if(x[i]<0)x[i]=640;
if(y[i]>480)y[i]=0;
if(y[i]<0)y[i]=480;
fillellipse(x[i],y[i],rr[i],rr[i]);
}
}
if(mc==1)
{
cleardevice();
for(i=0;i<maxcircle;i++)
{x[i]=random(640);
y[i]=random(480);
rr[i]=random(5)+1;
color[i]=random(16)+1;
fillellipse(x[i],y[i],rr[i],rr[i]);
}
}
}
}