#include #include #include #define LINES 15 #define WIDTH 719 #define LENGTH 347 #define DELTA 16 #define TIME 150 main(int argc,char *argv[]) { void move(),draw(); int printf(),rand(void); void randomize(),newline(); long now; int xx[LINES],yy[LINES],xxx[LINES],yyy[LINES]; int i,j,flag,xdel1,ydel1,xdel2,ydel2; int x1,y1,x2,y2; srand(time(&now) %37);/* initialize seed for random number generator */ x1 = (int)(WIDTH*(float)rand()/32768.); y1 = (int)(LENGTH*(float)rand()/32768.); x2 = (int)(WIDTH*(float)rand()/32768.); y2 = (int)(LENGTH*(float)rand()/32768.); randomize(&xdel1);randomize(&ydel1);randomize(&xdel2);randomize(&ydel2); flag=0; for (j=0;j < TIME; j++){ for (i=0;i < LINES;i++){ if (flag){move(xx[i],yy[i],0);draw(xxx[i],yyy[i]);} newline(&x1,&y1,&xdel1,&ydel1);newline(&x2,&y2,&xdel2,&ydel2); xx[i]=x1;yy[i]=y1;xxx[i]=x2;yyy[i]=y2; move(xx[i],yy[i],1);draw(xxx[i],yyy[i]); } flag=1; } exit(0); } void randomize(int *x) /* changes input to random number from -DELTA/2 to +DELTA/2 */ { int rand(void); *x=(int)((float)rand()*DELTA/32768.)-DELTA/2; } void newline(int *x, int *y, int *xdel, int *ydel) { int xx,yy,xxx,yyy; void randomize(); top: xx=*x;yy=*y; xx=xx+*xdel;yy=yy+*ydel; if (xx >= WIDTH){goto newdel;} if (yy >= LENGTH){goto newdel;} if (yy <= 0){goto newdel;} if (xx <= 0){goto newdel;} *x=xx;*y=yy; goto out; newdel: randomize(xdel);randomize(ydel); if(*xdel == 0 || *ydel == 0){goto newdel;} goto top; out: } void move(int row,int column,int color) { void __int__(); _AH = 0x23; _AL = (char)color; _DX = column; _CX = row; __int__(0x10); } void draw(int row,int column) { void __int__(); _AH = 0x24; _DX = column; _CX = row; __int__(0x10); }