c语言烟花代码devc,C语言烟花程序

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include

#define PI 3.1415926

main()

{

int gdriver=DETECT,gmode,i,x,y;;

initgraph(&gdriver,&gmode,"自己的盘在哪里就弄到哪里\\win-tc");

setbkcolor(BLUE);

/*烟花屏幕函数*/

for(i=1;i<=639;i++)

{x=rand()%400;

y=rand()%200;

putpixel (x,y,WHITE);

}

rise();

getch();

}

/*烟花上升函数*/

rise()

{

int n,x,y,j,x1,y1,u;

float q;

/*烟花上升轨迹*/

for(n=1;n<=10;n++)

{

x=rand()%400+100;

y=rand()%100+300;

x1=x;

y1=y-20;

setlinestyle(1,0,3);

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

{setcolor(rand()%15);

line(x,y,x1,y1);

delay(5000);

setcolor(BLUE);

line(x,y,x1,y1);

y1=y1-j;

y=y-j;}

/*声音函数*/

for(u=6000;u>=3000;u=u-100)

{ sound(u);

delay(800);

} nosound();

/*烟花爆炸函数*/

for(q=0;q<=2*PI;q+=0.15)

{ x1=x+80*cos(q);

y1=y+80*sin(q);

setcolor(rand()%15);

line(x,y,x1,y1);

delay(1000);}

for(q=0;q<=2*PI;q+=0.15)

{x1=x+80*cos(q);

y1=y+80*sin(q);

setcolor(BLUE);

line(x,y,x1,y1);}

}

getch();

}

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言中实现烟花效果通常会使用到图形库或者控制屏幕的库,比如在Dev-C++环境下,由于其基础环境并不支持图形界面编程,我们通常不会直接编写烟花动画的代码,因为这超出了C语言在标准环境下对字符屏幕操作的范畴。然而,如果你是在模拟控制台输出(如ASCII艺术),可以使用循环和条件语句来模拟烟花效果,打印不同形状和颜色的字符。 以下是一个简单的例子,展示了如何使用字符来模拟烟花效果: ```c #include <stdio.h> #include <time.h> #define BRIGHTNESS 8 #define MAX_FIREWORKS 10 void display_firework(int x, int y) { for (int i = 0; i <= BRIGHTNESS; i++) { printf(" *"); if (i < BRIGHTNESS / 2) delay(1); else delay(0.5); } printf("\n"); } void fireworks() { srand(time(NULL)); for (int i = 0; i < MAX_FIREWORKS; i++) { int x = rand() % COLS; // 水平位置 int y = RAND_RANGE(0, ROWS); // 垂直位置 display_firework(x, y); } } int main() { const int ROWS = 20; const int COLS = 80; fireworks(); return 0; } // 模拟延迟的简单函数,实际上可能需要引入额外的库 void delay(int seconds) { struct timespec spec; spec.tv_sec = seconds; spec.tv_nsec = 0; nanosleep(&spec, NULL); } ``` 在这个示例中,`display_firework`函数用来绘制烟花,`fireworks`函数随机生成烟花的位置并执行显示。`delay`函数是为了模拟烟花升空的速度。请注意,这只是一个简化的概念,实际的烟花效果将需要更复杂的算法和图形库来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值