流星雨的源程序

用C语言编制流星雨的源程序

第1个回答  2009-01-16
以下是原代码:

#include<conio.h>
#include<dos.h>
#include<stdlib.h>
main()
{char screen[24][80],e[10];
int i,j,k,l,m,n,t=0,a[10],b[10],c[10],d[10],f[10]={0};
randomize();
for(i=0;i<24;i++)
for(j=0;j<80;j++)
{if(i<19){screen[j]='';printf(" ");}
else{screen[j]='#';textcolor(GREEN);cprintf("%c",screen[j]);}
}
do{for(i=0;i<10;i++)
{c=random(4)+1;d=random(16);b=0;}
a[0]=random(80);j=0;
do{k=random(80);j++;l=3;
for(i=0;i<j;i++)
if(k==a){j--;l=2;break;}
if(l==2)continue;a=k;
}while(i<9);
for(i=0;i<9;i++)
{e=random(26)+'A';gotoxy(a+1,b+1);
textcolor(d);cprintf("%c",e);f=0;}
for(j=0;j<24;j++)
for(i=0;i<10;i++)
if(f!=1)
{delay(5000);gotoxy(a+1,b+1);printf(" ");b=b+c;
l=(c<19-b)?c:(19-b);
for(m=1;m<l;m++)
{n=b+m-c;gotoxy(a+1,n+1);textcolor(d);
cprintf("%c",e);gotoxy(a+1,n+1);printf(" ");}
if(b<19){textcolor(d);gotoxy(a+1,b+1);cprintf("%c",e);}
else{for(m=0,k=a;m<5;m++)
if(screen[19+m][k]=='#')
{screen[19+m][k]='';gotoxy(k+1,20+m);printf(" ");f=1;break;}
else{gotoxy(k+1,m+20);textcolor(d);cprintf("%c",e);
gotoxy(k+1,m+20);printf(" ");}
}
}
for(k=0;k<80;k++)
if(screen[23][k]==''){t=1;break;}
}while(t!=1);
}本回答被提问者采纳
相似回答