c 语言实现的简单屏幕烟花程序

#include "stdlib.h"
#include "graphics.h"
#include "stdio.h"
#include "math.h"
#include "conio.h "
#define PI  3.1425926
main()
{
    int gdriver=DETECT,gmode,errorcode;
    int a[10],b[10],x,y,c,r,i,j,t;
    double rad = 0.0;

    /* initialize graphics and local variables */
    initgraph(&gdriver , &gmode ,"");

     /* read result of initialization */
    errorcode = graphresult();
    if (errorcode != grOk)  /* an error occurred */
    {
        printf("Graphics error : %s/n",grapherrormsg(errorcode));
        printf("Please any key to halt:");
        getch();
        exit(1);  /* terminate with an error code */
    }

    randomize();

     for(;!kbhit();)
    {
         x=rand()%500+100; /*随机中心坐标*/
         y=rand()%300+100;
  /*   */
        for(r = 0 ;r <= 8 ; r++  )    /*烟花的大小设定*/
        {

            for(i = 0,rad = 0.0 ; rad < 2*PI; rad += 0.78 )  /*设定坐标*/
            {
                a[i++] = x + (int)r *10* cos(rad);
                b[ i ] = y + (int)r *10* sin(rad);
            }

            t = i;
            for(i=1;i<t;i++)
            {
                c=rand()%13+1; /*各点的颜色随机*/
                setcolor(c);       /*功能:将当前图形屏幕的当前笔画颜色置为color.*/
                circle(a[i],b[i],1);/* a[i],b[i] 为圆心 1 为半径 画圆 */
            }
            delay(10000);
            delay(10000);

            cleardevice();
           /**************************************
            *函数名: cleardevice                 *
            *功  能: 清除图形屏幕                *
            *用  法: void far cleardevice(void); *
            *                                    *
            **************************************/

            /*各点的坐标变换*/

        }
    }
    getch();
    closegraph();
 /*
    函数名: closegraph
    功  能: 关闭图形系统
    用  法: void far closegraph(void);
 */
}
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仰望星空@脚踏实地

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值