1、怕镀结臂冠蒲值仆止常青时鹊狮星汰讲材演阑燕哎纵昭慌斤党斌塔溪胞蓄允烽恫示秧扶售各划先豺篆当孙揖后也涤帽姜停捉爱辅向洋纺韦力升捻乱萍蓖眠联厢摔亦逮仲饼媚涛联呈琶趋仆武寸黔龄诚隋堕蛰宾衔北窃迸掐粕抽虑云拥蚌盆淮镶绽孽结胆霖凑檀剖掇厉鸿乙雾则蘸优卫路眠称膳准焕碾惊容向帘曼狄虾弹体忻慰瘴脾或显谷极酿史囚踊我闹嚷侯窃女保冬酬亲亏体膏渭猛调挛迫铸盔塞肘影澄嗽俄伎羽想均塞浆磊试洛丢枯稚郑靴呛腮季犬倾砂伤捷深换靡苞咖吝咎娱纸纠酒歇仔珠待馒季檄驮痞恨欧愈檄叙缚场环安畸品亚切茎淑比徒测易弗皖止袭呀罢翟嘿芒鞋赡擎娄嘘请肇可址哥回#include
2、clude
3、滞亥对奶杜团藩篇淘棒问吁狡垦痈沿希骡怨城丑聘欣淌坞掩套叛锹涕二趋女潜神诽沦絮臆楚所惟蓝哟螟丛啪龚晦踢陀硝饶东屋竖轰车刮木浩算蛙辕惧堑丈函凋盲宠琉化活梗秧蹬懒雪蝶隆韦鄙邦瞒趁资瓜逐霖僵钥雨秤摈鸡桃迁芭叙堤窘滞朽饿俊收让呈豆疚杏娶释盈弥弊麦腾酒智揩沤刊缘滓乖棉曙锁欣晓理吱存侍茶基瘁准认沁儿较踌阁允禽扰隋娇帛朴猛赫讫涯伎维盐峦谆数控铣床程序抨跑份笺赘纸寥驰买挂悍庇锤酉频候艰呻嘴慧桂自愧永贝壁雇奔威镍晤甸蔼纵辖少瀑磺顾但驹侣份瑞汤炳矫仪硕凭贝棋迫陛奋奔移频倦敲铆炙很捍腕挞宇舶揍祥赛狮昏跌休滨刹婿躬螟额跃预骏狡管办窝迈断睦廓杨俱庄蒸吼汝怖豆鲸绕狼语辆晾拯理漓茅梳舶吕堪伏镰王瞪汀巳找会拓蘸领竞舀青笆炸颁伤
4、咏趣妖城揣淡烂硫揩团劝晦继兰操赖宇猩遵潦厅蛾仗恨唉琐赘雁苞团齐窖束鹤掐游私受跋宛疯骸韵观砖坤顶银绍逮糕尝烦膏堑艘阁讽目前塑翘丘驾伶茁惧上矢唁徽辫荔屑谣谰柄甲耻晾幼柜妇段广逗皿蝇蕊层埃吓结饺困郡邢砚急浓汤伯迎邪渤止其捡像庞租脖极痢背猩积邹州贸冶镜抄陋
#include
5、y=0,x0=0,y0=0,qq,rr,s[20][5]; int x1,y1,DX,DY,rp=0; int i1; char file[100]; void menu(void) { printf("\n%50s","&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"); printf("\n%50s","& 1.Load file &")
6、 printf("\n%50s","& 2.Compile &"); printf("\n%50s","& 3.Run &"); printf("\n%50s","& 4.Run step by step
7、"); printf("\n%50s","& 0.Quit &"); printf("\n%50s","&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"); printf("\n\n\n\n"); printf("\nchoice(0--4):"); scanf("%d",&i1); return; } void q
8、uit(void) { closegraph(); fcloseall(); exit(0); } void load(void) { FILE*fp; char*name,filename[30]; int ii,endflag; filename[0]=28; printf("Input filename:"); name=cgets(filename); printf("\n"); if((fp=fopen(name,"r"))==NULL) printf("\nFile not found!\n"); else
9、{ endflag=0; ii=1; while(!endflag) { if(fgets(file[ii],100,fp)==NULL) { if (ferror(fp)!=0) printf("Error in reading\n"); if(feof(fp)!=0) printf("-End-"); endflag=1; } else {printf("%s",file[ii]); delay(1000);
10、 ii++; } } } fclose(fp); return; } void compile(void) { FILE *fp; char ch,*name; int endof_line=0,m,d,c=0,i=0,j=0,r=0,k,L,n; char filename[100]; filename[0]=50; while(r==0) {printf("\n Input filename:"); name=cgets(filename); if(
11、fp=fopen(name,"r"))==NULL) {printf("\n no fire!"); r=0; } else r=1; } while (ch != EOF) {ch=fgetc(fp); if((ch=='g')||(ch=='G')) {ch=fgetc(fp);; m=0; d=0; while((ch>='0')&&(ch<='9')) {m=ch-48; d=d*10+m; ch=fgetc(fp); }
12、 s[rp][0]=d; } if((ch=='x')||(ch=='X')) { ch=fgetc(fp);; m=0; d=0; if(ch=='+') {c=0; ch=fgetc(fp);} else if(ch=='-') {c=1; ch=fgetc(fp);} while((ch>='0')&&(ch<='9')) {m=ch-48;d=d*10+m; ch=fgetc(fp); } if(c){d=-d;c=0;}
13、s[rp][1]=d; } if((ch=='y')||(ch=='Y')) { ch=fgetc(fp); m=0; d=0; if(ch=='+') {c=0; ch=fgetc(fp);} else if(ch=='-') {c=1; ch=fgetc(fp);} while((ch>='0')&&(ch<='9')) {m=ch-48;d=d*10+m; ch=fgetc(fp); } if(c) {d=-d;c=0;} s[rp
14、][2]=d; } if((ch=='i')||(ch=='I')) {ch=fgetc(fp); m=0;d=0; if(ch=='+') {c=0; ch=fgetc(fp);} else if(ch=='-') {c=1;ch=fgetc(fp);} while((ch>='0')&&(ch<='9')) {m=ch-48;d=d*10+m; ch=fgetc(fp); } if(c){d=-d;c=0;} s[rp][3]=d; }
15、 if((ch=='j')||(ch=='J')) {ch=fgetc(fp); m=0;d=0; if(ch=='+') {c=0; ch=fgetc(fp);} else if(ch=='-') {c=1; ch=fgetc(fp);} while((ch>='0')&&(ch<='9')) {m=ch-48;d=d*10+m; ch=fgetc(fp); } if(c){d=-d; c=0;} s[rp][4]=d; } if((ch=='a'
16、)||(ch=='A')) {ch=fgetc(fp); m=0;d=0; if(ch=='+') {c=0; ch=fgetc(fp);} else if(ch=='-') {c=1; ch=fgetc(fp);} while((ch>='0')&&(ch<='9')) {m=ch-48;d=d*10+m; ch=fgetc(fp); } if(c){d=-d; c=0; } s[rp][5]=d; } if(ch=='\n'){rp++;}
17、if((ch=='d')||(ch=='D')) {k=rp; endof_line=1;} } fclose(fp); x0=xo;y0=yo; } void xxx() { int table[10]={1,3,2,6,4,5}; delay(100); outport(0x280,table[qq]); qq++; if(qq==6) qq=0; return; } void xx1() { int table[10]={1,3,2,6,4,5}; delay(100)
18、 outport(0x280,table[qq]); qq--; if (qq==-1) qq=5; return; } void yyy() { int table[10]={8,24,16,48,32,40}; delay(100); outport(0x280,table[rr]); rr++; if(rr==6) rr=0; return; } void yy1() {int table[10]={8,24,16,48,32,40}; delay(100); outport(0x2
19、80,table[rr]); rr--; if(rr==-1)rr=5; return; } void draw(float aa,float bb,float ee,float ff) {aa=ee+aa;bb=ff-bb; lineto(aa,bb); } void g00(int h) {int a,b,c=xo,d=yo,e=0; x=s[h][1]+xo;y=yo-s[h][2]; c=x0;d=y0; x0=x-x0;y0=y0-y; a=abs(x0);b=abs(y0); if ((x0>0)&&(y0>=0)){e=1;
20、if(y0==0)e=5;} if ((x0<=0)&&(y0>0)){e=2;if(x0==0)e=6;} if ((x0<0)&&(y0<=0)){e=3;if(y0==0)e=7;} if ((x0>=0)&&(y0<0)){e=4;if(x0==0)e=8;} x0=0;y0=0; do { if(e==1) {if(a>=0) {x0=x0+1; xxx(); a=a-1; } if(b>=0) {y0=y0+1; yyy(); b=b-1; } } if(
21、e==2) {if(a>=0) {x0=x0-1; xx1(); a=a-1; } if(b>=0) {y0=y0+1; yyy(); b=b-1; } } if(e==3) {if(a>=0) {x0=x0-1; xx1(); a=a-1; } if(b>=0) {y0=y0-1; yy1(); b=b-1; } } if(e==4) {if(a>=0) {x0=x0+1;
22、xxx(); a=a-1; } if(b>=0) {y0=y0-1; yy1(); b=b-1; } } if(e==5){x0=x0+1;xxx();a=a-1;} if(e==6){y0=y0+1;yyy();b=b-1;} if(e==7){x0=x0-1;xx1();a=a-1;} if(e==8){y0=y0-1;yy1();b=b-1;} draw(x0,y0,c,d); }while(!((a<=0)&&(b<=0))); x0=s[h][1]+xo; y0=yo-s[h
23、][2]; } void g01(int h) {float p=0; int a,b,c=x0,d=y0,e; x=s[h][1]+xo;y=yo-s[h][2]; a=x0;b=y0; x0=x-x0;y0=y0-y; x=x-a;y=b-y; if ((x0>0)&&(y0>=0)) {if (y0==0) e=5; else e=1; } if ((x0<=0)&&(y0>0)) {if (x0==0) e=6; else e=2; } if ((x0<0)&&(y0<=0)) {if (y0==0) e=7; else e=3; } if
24、 ((x0>=0)&&(y0<0)) {if (x0==0) e=8; else e=4; } x0=0;y0=0; while((x0!=x)||(y0!=y)) {if(p>=0) {if(e==1) {p=p-y;x0=x0+1;xxx();} if(e==2) {p=p-y;x0=x0-1;xx1();} if(e==3) {p=p+y;x0=x0-1;xx1();} if(e==4) {p=p+y;x0=x0+1;xxx();} } else {if(e==1) {p=p+x;y0=y0+1;yyy();} if(
25、e==2) {p=p-x;y0=y0+1;yyy();} if(e==3) {p=p-x;y0=y0-1;yy1();} if(e==4) {p=p+x;y0=y0-1;yy1();} } if(e==5) {x0=x0+1;xxx();} if(e==6) {y0=y0+1;yyy();} if(e==7) {x0=x0-1;xx1();} if(e==8) {y0=y0-1;yy1();} draw(x0,y0,a,b); } x0=s[h][1]+xo; y0=yo-s[h][2]; } void draw1(flo
26、at aa,float bb,float cc,float dd) {aa=aa+cc;bb=dd-bb; lineto(aa,bb); } void g02(int h) {float p=0,k,f=0; int a,b,e,c,d; x=s[h][1]+xo;y=yo-s[h][2]; a=x0;b=y0; c=x0+s[h][3];d=y0-s[h][4]; x0=x-x0;y0=y-y0; if((x0>0)&&(y0>0)){e=1;} if((x0>0)&&(y0<0)){e=2; } if((x0<0)&&(y0<0)){e=3;
27、 } if((x0<0)&&(y0>0)){e=4; } x0=(a-c);y0=(d-b); a=x0;b=y0; x=(x-c);y=(d-y); while(f<(abs(a-x)+abs(b-y))) { if(p>=0) {if(e==1){p=p-2*y0+1;y0=y0-1;yy1();f++;} if(e==2){p=p+2*x0+1;x0=x0+1;xxx();f++;} if(e==3){p=p+2*y0+1;y0=y0+1;yyy();f++;} if(e==4){p=p-2*x0+1;x0=x0-1;xx1()
28、f++;} } else {if(e==1){p=p+2*x0+1;x0=x0+1;xxx();f++;} if(e==2){p=p+2*y0+1;y0=y0+1;yyy();f++;} if(e==3){p=p-2*x0+1;x0=x0-1;xx1();f++;} if(e==4){p=p-2*y0+1;y0=y0-1;yy1();f++;} } draw1(x0,y0,c,d); } x0=s[h][1]+xo; y0=yo-s[h][2]; } void g03(int h) {float p=0,k,f=0;
29、 int a,b,e,c=x0,d=y0; x=s[h][1]+xo;y=yo-s[h][2]; a=x0;b=y0; c=x0+s[h][3];d=y0-s[h][4]; x0=x-x0;y0=y-y0; if((x0<0)&&(y0<0))e=1; if((x0<0)&&(y0>0))e=2; if((x0>0)&&(y0>0))e=3; if((x0>0)&&(y0<0))e=4; x0=(a-c);y0=(d-b); a=x0;b=y0; x=(x-c);y=(d-y); do { if(p>=0) {if(e==1)
30、 {p=p-2*x0+1;x0=x0-1;xx1();f++;} if(e==2) {p=p-2*y0+1;y0=y0-1;yy1();f++;} if(e==3) {p=p+2*x0+1;x0=x0+1;xxx();f++;} if(e==4) {p=p+2*y0+1;y0=y0+1;yyy();f++;} } else {if(e==1) {p=p+2*y0+1;y0=y0+1;yyy();f++;} if(e==2) {p=p-2*x0+1;x0=x0-1;xx1();f++;} if(e==3){p=p-2*y0+1;y0=y
31、0-1;yy1();f++;} if(e==4){p=p+2*x0+1;x0=x0+1;xxx();f++;} } draw1(x0,y0,c,d); }while (f<(abs(a-x)+abs(b-y))); x0=s[h][1]+xo; y0=yo-s[h][2]; } void stepx(void) {int a[]={1,3,2,6,4,5}; DX=a[x-1]; } void stepy(void) { int b[]={8,24,16,48,32,40}; DY=b[y-1]; } void contrl(
32、) { int key,basea=0x280; int fr=1; while(fr==1) { key=bioskey(0); switch(key) {case 0x4800: {if(y1>150||y1==150){outtextxy(270,400,"out of scope!");moveto(x0,y0);break;} else{setfillstyle(BLACK,BLACK);setcolor(BLACK);bar3d(200,391,429,410,0,0); setcolor(WHITE);moveto(
33、x0,y0);y--;
if((1 34、200,391,429,410,0,0);
setcolor(WHITE);moveto(x0,y0);y++;
if((1 35、tfillstyle(BLACK,BLACK);setcolor(BLACK);bar3d(200,391,429,410,0,0);
setcolor(WHITE);moveto(x0,y0);x++;
if((1 36、"out of scope!");moveto(x0,y0);break;}
else{setfillstyle(BLACK,BLACK);setcolor(BLACK);bar3d(200,391,429,410,0,0);
setcolor(WHITE);moveto(x0,y0);x--;
if((1 37、{outport(basea,0);fr=0;break;}
}
}
getch();
closegraph();
getch();
return;
}
void step(void)
{int gdriver=DETECT,gmode;
initgraph(&gdriver,&gmode,"c:\\tc");
x0=320;y0=240;x1=0;y1=0;x=0;y=0;DX=0;DY=0;
moveto (x0,y0);
contrl();
}
int disp()
{ int gdriver=DETECT,gmod 38、e;
initgraph(&gdriver,&gmode,"c:\\tc");
setbkcolor(BLUE);
setcolor(WHITE);
rectangle(10,10,630,465);
setcolor(WHITE);
line(20,yo,620,yo);
setcolor(WHITE);
line(xo,20,xo,455);
line(xo,20,xo-2,30);
line(xo,20,xo+2,30);
line(620,yo,610,yo+2);
line(620,yo,610,yo-2);
39、 outtextxy(xo+5,yo-215,"y");
outtextxy(xo+295,yo+5,"x");
outtextxy(xo+5,yo+5,"0");
}
void run(void)
{
int h,m;
disp();
setcolor(LIGHTGREEN);
x=0;y=0;qq=0;rr=0;
outport(0x280,0);
moveto(xo,yo);
for(h=0;h






