一、项目介绍
这是一个用C语言实现的祝福烟花小程序。
亦可用作表白!
编译环境:visual c++ 6.0
第三方库:Easyx2022
二、运行截图
三、主要代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | void main() { initgraph( 1200, 800 ); srand ( time (0) ); // 播放背景音乐 mciSendString( "open ./fire/bk.mp3 alias bk" , 0, 0, 0 ); mciSendString( "play bk repeat" , 0, 0, 0 ); setfillstyle( 0); setfont( 36, 0, "楷体" ); setcolor( LIGHTBLUE ); outtextxy( 370, 100, "我爱Dotcpp!" ); DWORD t1= timeGetTime(); // 筛选烟花计时 DWORD st1= timeGetTime(); // 播放花样计时 DWORD * pMem = GetImageBuffer(); // 获取窗口显存指针 for ( int i = 0; i < NUM; i++ ) // 初始化烟花 { Init( i ); } Load(); // 将烟花图片信息加载进相应结构中 BeginBatchDraw(); // 开始批量绘图 while ( !kbhit() ) { Sleep( 10 ); // 随机选择 4000 个像素点擦除 for ( int clr = 0; clr < 1000; clr++ ) { for ( int j = 0; j < 2; j++ ) { int px1 = rand () % 1200; int py1 = rand () % 800; if ( py1 < 799 ) // 防止越界 pMem[py1 * 1200 + px1] = pMem[py1 * 1200 + px1 + 1] = BLACK; // 对显存赋值擦出像素点 } } Chose( t1); // 筛选烟花 Shoot(); // 发射烟花 Show( pMem); // 绽放烟花 Wishing(); // 滚动字符 Style( st1); // 花样发射 FlushBatchDraw(); // 显示前面的所有绘图操作 } } |
四、完整源码
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程