可惜一開始沒能畫成圓,所以整個過程都是菱形的變換,希望大家多多指教,能夠想辦法把初始狀態就圍成一個圓.
#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();
}