这是一个我写的贪吃蛇的结束界面,我是想在输出文字的同时播放动画。可是效果总是它们不能同时出现,怎么办?
简单代码:
gameover(){
settextstyle(0, 0, 6); setcolor(7); outtextxy(103, 203, "GAME OVER");
yanhua();
}
/*游戏结束 文字*/
void yanhua(){
int a[8],b[8],x,y,i,j,c;
randomize();
while(!kbhit()) { x=rand()%500+100; /*随机中心坐标*/
y=rand()%300+100;
a[0]=x; b[0]=y-10; a[1]=a[0]+5; a[2]=a[1]+5; a[3]=a[1]; a[4]=a[0]; a[5]=a[0]-5; a[6]=a[5]-5; a[7]=a[6]+5;
for(j=1;j<5;j++) b[j]=b[j-1]+5;
for(j=5;j<8;j++) b[j]=b[j-1]-5; for(j=0;j<6;j++) /*烟花的大小设定*/ { for(i=0;i<8;i++) { c=rand()%13+1; /*各点的颜色随机*/ setcolor(c); circle(a[i],b[i],1); } delay(5000); cleardevice(); b[0]-=10; /*各点的坐标变换*/ a[1]+=5; b[1]-=5; a[2]+=10; a[3]+=5; b[3]+=5; b[4]+=10; a[5]-=5; b[5]+=5; a[6]-=10; a[7]-=5; b[7]-=5; } } getch();
}
/*烟花的程序。*/
简单代码:
gameover(){
settextstyle(0, 0, 6); setcolor(7); outtextxy(103, 203, "GAME OVER");
yanhua();
}
/*游戏结束 文字*/
void yanhua(){
int a[8],b[8],x,y,i,j,c;
randomize();
while(!kbhit()) { x=rand()%500+100; /*随机中心坐标*/
y=rand()%300+100;
a[0]=x; b[0]=y-10; a[1]=a[0]+5; a[2]=a[1]+5; a[3]=a[1]; a[4]=a[0]; a[5]=a[0]-5; a[6]=a[5]-5; a[7]=a[6]+5;
for(j=1;j<5;j++) b[j]=b[j-1]+5;
for(j=5;j<8;j++) b[j]=b[j-1]-5; for(j=0;j<6;j++) /*烟花的大小设定*/ { for(i=0;i<8;i++) { c=rand()%13+1; /*各点的颜色随机*/ setcolor(c); circle(a[i],b[i],1); } delay(5000); cleardevice(); b[0]-=10; /*各点的坐标变换*/ a[1]+=5; b[1]-=5; a[2]+=10; a[3]+=5; b[3]+=5; b[4]+=10; a[5]-=5; b[5]+=5; a[6]-=10; a[7]-=5; b[7]-=5; } } getch();
}
/*烟花的程序。*/