烟花代码的问题
#include<graphics.h>#include<conio.h>
#include<stdio.h>
#include<time.h>
#define NUM 13
//烟花弹的结构体
struct JET
{
int x,y; //发射高度
int hx,hy;//最高点
int height;//烟花高度
bool shoot;//是否发射
DWORD t1,t2,dt;//发射速度
IMAGE img[2];//储存一亮一暗的图片
byte n : 1;//图片的下标
}Jet[NUM];
//包含库文件
#pragma comment(lib,"winmm.lib")//播放音乐
//全局函数的声明
void Welcome();
void Load_Image(); //加载图片
void Init_Fire(int i);//初始化
void chose(DWORD& t1);//筛选烟花
int main()//主函数
{
initgraph(1200,800);//初始化一个图形界面
srand(unsigned int (time(NULL))); //随机因子
Welcome();
DWORD t1=timeGetTime();//筛选烟花
for(int i=0;i<NUM;i++)
{
Init_Fire(i);
}
Load_Image();
BeginBatchDraw();//开始批量绘图
while(!kbhit())
{
Sleep(50);
chose(t1);
FlushBatchDraw();
}
closegraph();
return 0;
}
//欢迎界面
void Welcome()
{//播放背景音乐
mciSendString("open ./fire/bk.mp3 alias bk",0,0,0);//获取音乐的文件的路径
mciSendString("play bk repeat",0,0,0);
//文字的输出
settextstyle(50,0,"楷体");//设置字体风格
setcolor(YELLOW); //设置字体颜色
outtextxy(480,100,"衣");//在指定坐标输出文字
outtextxy(440,150,"欢迎");
settextstyle(25,0,"楷体");
getchar();
cleardevice();
outtextxy(400,250,"你 好");
outtextxy(400,300,"不好");
outtextxy(400,350,"不喜欢");
outtextxy(400,400,"喜欢");
outtextxy(400,450,"还可以");
outtextxy(400,500,"一般般");
outtextxy(400,550,"还有谁");
getch();
}
//思路:1,加载图片 2,初始化 3.循环并改变坐标 4.逻辑判断
void Load_Image()
{ //加载烟雾弹
IMAGE sm;
loadimage(&sm,"./fire/shoot.jpq",200,50);
for(int i=0;i<13;i++)
{
SetWorkingImage(&sm); //设置回绘窗口
int n=rand()%5;
getimage(&Jet[i].img[0],n*20,0,20,50); //暗的图片
getimage(&Jet[i].img[1],(n=5)*20,0,20,50);//亮的图片
}
SetWorkingImage();
}
//初始化
void Init_Fire(int i)
{
Jet[i].x=-240;
Jet[i].y=-240;
Jet[i].hx=-240;
Jet[i].hy=-240;
Jet[i].height=0;
Jet[i].t1=-timeGetTime();
Jet[i].dt=rand()%10;
Jet[i].n=0;
Jet[i].shoot=false;
}
//筛选烟花
void chose(DWORD& t1)
{
DWORD t2=timeGetTime();
if(t2-t1>100)
{
int n=rand()&20;
if(n<13)
{
Jet[n].x=rand()%1200;
Jet[n].y=rand()%100+600;
Jet[n].hx=Jet[n].x;
Jet[n].hy=rand()%400;
Jet[n].hy=Jet[n].y-Jet[n].hy;
putimage(Jet[n].x,Jet[n].y,&Jet[n].img[Jet[n].n],SRCINVERT);
}
}
}
为什么不能显示出烟花的效果,, 这是错误,能帮我改一下么,谢谢