WEB开发网
开发学院软件开发C++ 一个简单的焰火程序 阅读

一个简单的焰火程序

 2008-03-08 12:50:57 来源:WEB开发网   
核心提示:#include <graphics.h>#include <stdio.h>#include <math.h>#include <time.h>#define PI 3.14159#define maxx 640#define maxy 480main(){int i;
#include <graphics.h>
#include <stdio.h>
#include <math.h>
#include <time.h>
#define PI 3.14159
#define maxx 640
#define maxy 480 main()
{int i;
 char c;
 init();
 draw();
 c=getch();
}
init()
/*初始化图形系统函数*/
{int gdriver=DETECT,gmode;
 initgraph(&gdriver,&gmode,"c:\\tc\\bgi"); /*注重此处的路径*/
 setbkcolor(1);
 sky();
 return;
} sky()
{int x,y,i;
 for(i=1;i<=500;i++)
  {x=rand()%640;y=rand()%300;
  putpixel(x,y,15);
  putpixel(x+1,y,15);
  }
 for(i=1;i<=200;i++)
  {x=rand()%640;y=300+rand()%100;
  putpixel(x,y,15);
  }
return;
}
draw()
{int i,j,k,x,y,dy;
 setfillstyle(1,7);
for(i=1;i<=10;i++)
 {setlinestyle(3,0,3);
  x=100+rand()%400;dy=20+rand()%20;
  for(k=1000;k>=500;k-=100)
  {sound(k);delay(3000);}
  nosound();
  for(j=1;j<=10;j++)
  {setcolor(i%16);
   line(x,maxy-(j-1)*dy,x,maxy-j*dy);
   delay(10000);
   setcolor(0);
   line(x,maxy-(j-1)*dy,x,maxy-j*dy);
  }
  for(k=6000;k>=3000;k-=100)
   {sound(k);delay(20000);}
  nosound();
  setlinestyle(3,0,2);
  drawellipse(x,maxy-(j-1)*dy);
 } return;
}
drawellipse(int x,int y)
{int i,j,x1,y1,a,b;
 float q;
 a=60+rand()%60;b=a-rand()%60;
 for(i=2;i>=0;i--)
 {
 for(q=0;q<=2*PI;q+=0.12)
  {setcolor(rand()%16);
  x1=x+(a-i*30)*cos(q);
  y1=y-(b-i*30)*sin(q);
  line(x,y,x1,y1);
  }
 delay(50000);
 setcolor(0);
  for(q=0;q<=2*PI;q+=0.12)
  {x1=x+(a-i*30)*cos(q);
  y1=y-(b-i*30)*sin(q);
  line(x,y,x1,y1);
  }  }
 return;
}

Tags:一个 简单 焰火

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接