Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19270355
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: C/C++

2008-05-31 09:58:16

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

  #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();
  }

阅读(389) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~