浪漫表白效果: 开发环境:VisualStudio2019EasyX图形库插件即可 源码展示:includestdio。hincludemath。hincludetime。hincludeconio。hincludegraphics。h自己安装了才有includemmsystem。hpragmacomment(lib,winmm。lib)多媒体设备接口库文件definePI3。1415defineNUM13烟花弹数量defineWIDTH960defineHEIGHT640structFire{intx,y;intcenx,ceny;中心点坐标intr;当前绽放半径intmaxr;最大绽放半径intwidth,height;DWORDpixel〔240〕〔240〕;图片像素数组boolisShow;烟花是否准备好了boolisDraw;是否绘制烟花}fire〔NUM〕;structJet烟花弹{intx,y;坐标inthx,hy;最高点的坐标boolisLaunch;烟花弹是否在发射中IMAGEimg〔2〕;byten:1;位段0101010101}jet〔NUM〕;voidwelcome(){mciSendString(Lopen。res小幸运。mp3,0,0,0);mciSendString(Lplay。res小幸运。mp3,0,0,0);for(inti0;i50;i){清除屏幕cleardevice();intx500180sin(2PI60i);inty200180cos(2PI60i);设置字体样式settextstyle(i,0,L楷体);settextcolor(RGB(0,202,0));setbkmode(TRANSPARENT);outtextxy(x,y,L浪漫表白程序);Sleep(20);}getch();按任意键继续cleardevice();settextstyle(25,0,L楷体);outtextxy(350,100,L亲爱的XXX);outtextxy(350,150,L自从第一天看见你);outtextxy(350,200,L我的心就不能自已);outtextxy(350,250,L不管天上地下都想看见你);outtextxy(350,300,L。。。);outtextxy(350,350,L。。。);outtextxy(450,400,L爱你的XXX);}voidInitData(inti);voidloadImg(){初始化绽放效果IMAGEbloomImg,tImg;loadimage(bloomImg,L。resflower。jpg,3120,240);for(inti0;iNUM;i){InitData(i);SetWorkingImage(bloomImg);getimage(tImg,i240,0,240,240);SetWorkingImage(tImg);for(inta0;a240;a){for(intb0;b240;b){fire〔i〕。pixel〔a〕〔b〕getpixel(a,b);}}}初始化烟花弹IMAGEjetImg;loadimage(jetImg,L。reslaunch。jpg,200,50);SetWorkingImage(jetImg);for(inti0;iNUM;i){intnrand()5;getimage(jet〔i〕。img〔0〕,n20,0,20,50);getimage(jet〔i〕。img〔1〕,n20100,0,20,50);jet〔i〕。isLaunchfalse;}SetWorkingImage();}voidInitData(inti){fire〔i〕。cenx120;fire〔i〕。ceny120;fire〔i〕。maxr120;fire〔i〕。r0;fire〔i〕。width240;fire〔i〕。height240;fire〔i〕。isDrawfalse;fire〔i〕。isShowfalse;}产生烟花弹voidcreateJet(){intirand()NUM;〔013)if(jet〔i〕。isLaunchfalse){jet〔i〕。xrand()(WIDTH20);jet〔i〕。yrand()100HEIGHT;jet〔i〕。hxjet〔i〕。x;jet〔i〕。hyrand()(HEIGHT32);jet〔i〕。isLaunchtrue;}}发射烟花弹voidlaunch(){for(inti0;iNUM;i){if(jet〔i〕。isLaunch){putimage(jet〔i〕。x,jet〔i〕。y,jet〔i〕。img〔jet〔i〕。n〕,SRCINVERT);判断是否达到最高点了if(jet〔i〕。yjet〔i〕。hy){jet〔i〕。y5;jet〔i〕。n;}putimage(jet〔i〕。x,jet〔i〕。y,jet〔i〕。img〔jet〔i〕。n〕,SRCINVERT);if(jet〔i〕。yjet〔i〕。hy){jet〔i〕。isLaunchfalse;可以开始放烟花了fire〔i〕。xjet〔i〕。x;fire〔i〕。yjet〔i〕。y;fire〔i〕。isShowtrue;}}}}voidbloom(DWORDpMem){for(inti0;iNUM;i){if(fire〔i〕。isShow){if(fire〔i〕。rfire〔i〕。maxr){fire〔i〕。r;fire〔i〕。isDrawtrue;可以开始绘制烟花了}if(fire〔i〕。rfire〔i〕。maxr){InitData(i);}}if(fire〔i〕。isDraw){求当前半径下,圆上的每个点对于的弧度for(doublea0;a2PI;a0。01){intimgxfire〔i〕。cenxfire〔i〕。rcos(a);求出圆上的每个点的坐标intimgyfire〔i〕。cenyfire〔i〕。rsin(a);if(imgx0imgxfire〔i〕。widthimgy0imgyfire〔i〕。height){针对现在的绽放点,对应的屏幕坐标intwinxfire〔i〕。xfire〔i〕。rcos(a);intwinyfire〔i〕。yfire〔i〕。rsin(a);if(winx0winxWIDTHwiny0winyWIDTH){pMem〔winyWIDTHwinx〕BGR(fire〔i〕。pixel〔imgx〕〔imgy〕);}}}}}}intmain(){创建窗口initgraph(960,640);设置随机数种子srand((unsigned)time(NULL)clock());welcome();loadImg();DWORDpMemGetImageBuffer();获取窗口的内存指针while(1){for(inti0;iWIDTH;i){for(intk0;k4;k){intxrand()WIDTH;intyrand()HEIGHT;if(yHEIGHT){pMem〔yWIDTHx〕BLACK;}}}createJet();launch();bloom(pMem);Sleep(10);}closegraph();return0;} 以上就是我们表白程序的源码了!最后祝大家都能和喜欢的人在一起哦 我的CC编程学习基地,点击正在跳转链接即可加入,欢迎有问题的小伙伴一起进来学习交流嗷