资源描述:
《C语言实战之浪漫烟花表白程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.创建win32控制台应用程序,选择空项目。创建完毕后,右击头文件新建一个头文件(.h)。名字写main.h然后在源文件新建一个C++文件(.cpp)。名字写main.cpp如图:然后在main.h里面写上如下代码:#include#include#include#include#include#include#pragmacomment(lib,"winmm.lib")#definePI3.1415926
2、535#defineNUM13//烟花弹structJET{intx,y;//坐标inthx,hy;//最高点坐标boolshoot;//判断烟花弹是不是发射状态DWORDt1,t2,dt;//烟花弹发射的速度IMAGEimg[2];//图片2张一明一暗的两张byten:1;//结构体位段变量n占用内存的一个位!}jet[NUM];..//烟花structFIRE{intr;//半径intmaxr;//最大半径intx,y;//相对于窗口中心点的坐标intcenx,ceny;//相对于图片本身中心点的坐标intwidth,
3、height;intxy[240][240];//图片保存到一个像素矩阵。boolshow;//是否绽放booldraw;//是否绘制DWORDt1,t2,dt;//爆炸的速度}fire[NUM];voidInit(inti);voidLoad();voidChose(DWORD&t1);voidShoot();voidShow(DWORD*pem);在main.cpp写上如下代码:/**********************************************************************
4、***************************************************表白浪漫烟花项目开发************************************主讲人:三黑之毅****************************************最后修改:2019年3月20日********************************************************************************************************
5、*****************/#include"main.h"intmain(){//打开一个窗口1200800initgraph(1200,800);srand((unsignedint)time(NULL));..mciSendString(L"open./fire/千年.mp3aliasbgm",0,0,0);mciSendString(L"playbgmrepeat",0,0,0);DWORDt1=GetTickCount();DWORD*pem=GetImageBuffer();for(inti=0;i6、UM;i++){Init(i);}Load();BeginBatchDraw();while(1){Sleep(10);for(intclr=0;clr<1000;clr++){for(intj=0;j<2;j++){intpx1=rand()%1200;intpy1=rand()%800;if(py1<799){pem[py1*1200+px1]=pem[py1*1200+px1+1]=BLACK;}}}Chose(t1);Shoot();Show(pem);FlushBatchDraw();}return0;}//初始
7、化13个voidInit(inti){//分别为:烟花中心到图片边缘的最远距离、烟花中心到图片左上角的距离(x、y)两个分量intr[15]={120,120,155,123,130,147,138,138,130,135,140,132,155,145,124};intx[15]={120,120,110,117,110,93,102,102,110,105,100,108,110,145,124};inty[15]={120,120,85,118,120,103,105,110,110,120,120,104,85,1
8、45,124};..fire[i].width=500;fire[i].height=500;fire[i].maxr=r[i];fire[i].cenx=x[i];fire[i].ceny=y[i];fire[i].show=false;fire[i].t1=GetTickCount();fire[i