龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

简单屏幕烟花程序

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
可惜一开始没能画成圆,所以整个过程都是菱形的变换,希望大家多多指教,能够想办法把初始状态就围成一个圆. #include "stdlib.h" #include"graphics.h" main() {int gd=DETECT,gr,a[8],b[8],x,y,i,j,c; initgra

可惜一开始没能画成圆,所以整个过程都是菱形的变换,希望大家多多指教,能够想办法把初始状态就围成一个圆.

#include "stdlib.h"

  #include"graphics.h"

  main()

  {int gd=DETECT,gr,a[8],b[8],x,y,i,j,c;

   initgraph(&gd,&gr,"");

   randomize();

   for(;!kbhit();)

   {x=rand()%500+100; /*随机中心坐标*/

   y=rand()%300+100;

   a[0]=x; /*各点坐标的计算,我的烟花图形没能是圆的*/

   b[0]=y-10;

   a[1]=a[0]+5;

   a[2]=a[1]+5;

   a[3]=a[1];

   a[4]=a[0];

   a[5]=a[0]-5;

   a[6]=a[5]-5;

   a[7]=a[6]+5;

   for(j=1;j<5;j++)

   b[j]=b[j-1]+5;

   for(j=5;j<8;j++)

   b[j]=b[j-1]-5;

   for(j=0;j<6;j++) /*烟花的大小设定*/

   {

   for(i=0;i<8;i++)

   {

   c=rand()%13+1; /*各点的颜色随机*/

   setcolor(c);

   circle(a[i],b[i],1);

   }

   delay(5000);

   cleardevice();

   b[0]-=10; /*各点的坐标变换*/

   a[1]+=5;

   b[1]-=5;

   a[2]+=10;

   a[3]+=5;

   b[3]+=5;

   b[4]+=10;

   a[5]-=5;

   b[5]+=5;

   a[6]-=10;

   a[7]-=5;

   b[7]-=5;

   }

  }

   getch();

   closegraph();

  }

  

精彩图集

赞助商链接