哪位大侠能帮我改成两架飞机的动画?
下面这段程序是一架飞机的动画,现在遇到了几个问题请教高手:1.如何在界面上显示两架飞机,根据菜单提示选择我机,例如:我机编号:1就表示1号机位我方飞机,另一个则为敌机;
2.两架飞机分别可以根据不同的按键按不同的方向飞行
main()
{
int size;
int i=0;
int key;
InstallGraph();
setbkcolor(BLACK);
DrawPlan();
setcolor(LIGHTRED);/*define result words color*/
do{ /*程序主循环开始,用于运动飞机,方法是用异或的方式在屏幕上连续画出飞机 的图像,每画一次,新图像和来的位置相差两个像素点。
这个值是可调的,值越大,飞机飞行的速度越快*/
cleardevice();/*图形驱动程序和屏幕初始化工作完成*/
putimage(x0-height,y0-i,buf,XOR_PUT);
i+=2;
/*putimage(x0-20,y0-i,buf,XOR_PUT);*/
key=getch();
if(y0-i==0)
outtextxy(60,100,"Successfully!!! Press ESC to quit");
if(key==ESC){
if(y0-i>0){
cleardevice();
outtextxy(100,100,"Failue. What did you do?");
outtextxy(130,300,"Press any key to quit.");
getch();
}
}
}while(key!=ESC);
free(buf);
closegraph();
return 0;
}
void InstallGraph(void)
{
int grdriver=DETECT;
int grmode;
int errorcode;
char *errormsg;
registerbgidriver(EGAVGA_driver);
/*registerbgifont(triplex_font); */
initgraph(&grdriver,&grmode,"h:\tc20h");
errorcode=graphresult();
errormsg=grapherrormsg(errorcode);
if(errorcode!=grOk){
printf("Graphics error: %s\n",errormsg);
printf("Press any key to exit.\n");
getch();
exit(1);
}
}
void DrawPlan(void)
{
int size;
setcolor(LIGHTRED);
/*ellipse(x0,y0-height,0,180,width1,3*width1);*/
line(x0,y0,x0,y0+height);
line(x0-height,y0+height1,x0+height,y0+height1);
line(x0-height1,y0+height,x0+height1,y0+height);
/*line(300,340,300,360);
line(280,350,320,350);
line(290,360,310,360);
*/
size=imagesize(x0-height-1,y0-height1,x0+height+2,y0+height+2);
/*size=imagesize(279,330,322,362);*/
buf=malloc(size);
if(!buf){
printf("No enough memory!");
exit(0);
}
getimage(x0-height-1,y0-height1,x0+height+2,y0+height+2,buf);
}