一个c的问题 请帮忙看一看

yuyu2050 2003-10-18 05:28:17
想搞一个演示火箭发射的程序,却总有一个问题,使之无法继续,希望各位帮忙看看。
那两个错误到底怎么回事啊 请帮帮忙啊 拜托了 谢谢
问题如下:

Linking E:\TC\YUYU.EXE:
Linker Error: Undefined symbol '_triplex_font' in module YUYU.C
Linker Error: Undefined symbol '_EGAVGA_driver' in module YUYU.C
下面是原程序


#include<graphics.h>
#include<conio.h>
#include<stdio.h>
#include<alloc.h>
#include<stdlib.h>

#define ESC 0x1b
void InstallGraph(void);
void DrawGun(void);
void DrawPlan(void);
void DrawStar(void);

void *buf;
int x0=300,y0=340;
int width1=5,width2=20,height=25;
int y1=8,y2=15,y3=23,y4=38;

main()
{ int size;
int i=0;
int key;
int station;

InstallGraph();
setbkcolor(0);
cleardevice();

setcolor(BLUE);
settextstyle(1,0,4);
outtextxy(80,100,"Ready!...any key to SET OFF");
DrawGun();
getch();

cleardevice();
DrawGun();
DrawPlan();
DrawStar();
setcolor(8);
do
{ putimage(x0-width2,y0-height-3*width1-i,buf,1);
i+=2;
putimage(x0-width2,y0-height-3*width1-i,buf,1);
key=getch();
if(y0-height-3*width1-i==0)
outtextxy(60,100,"successfully!!!press ESC to out");
if(key==ESC)
{ if(y0-height-3*width1-i>0)
{ cleardevice();
outtextxy(100,100,"Failue,what did you do?");
outtextxy(130,300,"press any key to out");
getch();
}
}
}
while(key!=ESC);
free(buf);
closegraph();
return 0;
}
void InstallGraph(void)
{ int grd=DETECT,grm;
int errorcode;
char *errormsg;

registerbgidriver(EGAVGA_driver);
registerbgifont(triplex_font);
initgraph(&grd,&grm,"");

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 DrawStar(void)
{ int seed=2000;
int i,dotx,doty,height,width,color,maxcolor;
maxcolor=getmaxcolor();
width=getmaxx();
height=getmaxy();
srand(seed);
for(i=0;i<250;i++)
{ dotx=i+random(width-1);
doty=i+random(height-1);
color=random(maxcolor);
setcolor(color);
putpixel(dotx,doty,color);
circle(dotx+1,doty+1,1);
}
srand(seed);
}
void DrawGun(void)
{ int x0=300,y0=430,height=45,rx=20,ry=5;
int rightx,righty,leftx,lefty;
int centery1=30;
rightx=righty=leftx=lefty=12;

setcolor(8);
ellipse(x0,y0,180,360,rx,ry);
ellipse(x0,y0-height,0,360,rx,ry);
line(x0+rx,y0,x0+rx,y0-height);
line(x0-rx,y0,x0-rx,y0-height);

moveto(x0+rx,y0);
lineto(x0+rx+rightx,y0+righty);
moveto(x0+rx+rightx,y0+righty);
lineto(x0+rx+rightx+10,y0+righty+10);
circle(x0+rx+rightx+10,y0+righty+10,4);

moveto(x0,y0+ry);
lineto(x0,y0+centery1);
moveto(x0,y0+centery1);
lineto(x0,y0+centery1+10);
circle(x0,y0+centery1+10,4);

moveto(x0-rx,y0);
lineto(x0-rx-leftx,y0+lefty);
moveto(x0-rx-leftx,y0+lefty);
lineto(x0-rx-leftx-10,y0+lefty+10);
circle(x0-rx-leftx-10,y0+lefty+10,4);

line(x0-rx-leftx,y0+lefty,x0,y0+centery1);
line(x0,y0+centery1,x0+rx+rightx,y0+righty);
}
void DrawPlan(void)
{ int size;
setcolor(8);
setfillstyle(1,BLUE);
ellipse(x0,y0-height,0,180,width1,3*width1);

moveto(x0+width1,y0);
lineto(x0+width1,y0-height);
moveto(x0+width1,y0);
lineto(x0+width2,y0+y2);

moveto(x0-width1,y0);
lineto(x0-width1,y0-height);
moveto(x0-width1,y0);
lineto(x0-width2,y0+y2);

moveto(x0+width1,y0+y3);
lineto(x0+width2,y0-y1);
moveto(x0+width2,y0+y3);
lineto(x0+width1,y0+y2);

moveto(x0-width2,y0+y3);
lineto(x0-width2,y0+y1);
moveto(x0-width2,y0+y3);
lineto(x0-width1,y0+y2);

moveto(x0,y0+y4);
lineto(x0+width1,y0+y2);
moveto(x0,y0+y4);
lineto(x0-width1,y0+y2);

setfillstyle(1,8);
floodfill(x0,y0,8);
size=imagesize(x0-width2-1,y0-height-3*width1,x0+width2+1,y0+y4);
buf=malloc(size);
if(!buf)
{ printf("no enough momory!");
exit(0);
}
getimage(x0-width2,y0-height-3*width1,x0+width2,y0+y4,buf);
}
...全文
30 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunhaifeng 2003-10-18
  • 打赏
  • 举报
回复
去掉下面两句就可以了
registerbgidriver(EGAVGA_driver);
registerbgifont(triplex_font);

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧