10/*pokerobo.c */ 20 int mia,mik,hia,hik,mia1,mia2,mik1,mik2; 30 int hia1,hia2,hik1,hik2,atama; 40 int srv1,srv2,srv4,srv8,srv16; 50 int bb,p,q; 60 void servo(); 70 void srv2m(int p,int q); 80 void srv4p(int p,int q); 90 void tyuuritu(); 100 void asihumi(int ee); 110 void mae(int ee); 120 void usiro(int ee); 130 void migimae(int ee); 140 void hidarimae(int ee); 150 void atahida(); 160 void atamigi(); 170 void head(); 180main() 190{int dd,kk; 200 FILE *stream; 210 stream=fopen("pio","r+"); 220 pioset(0x00); 230 tyuuritu(); 240 for(dd=0;dd<40;dd++) 250 servo(); 260 printf("\nÏ´=4¤ ³¼Û=6\n"); 270 printf("ËÀÞØÏ´=2, зÞÏ´=8, ±¼ÌÐ=5\n"); 280 printf("±ÀÏËÀÞØ=1, ±ÀÏзÞ=7 ĸÞÙÄÞ³»\n"); 290while(1) 300{kk=getch(); 310switch (kk) 320{ case '4' :mae(2);break; 330 case '6':usiro(2);break; 340 case '2':hidarimae(2);break; 350 case '8':migimae(2);break; 360 case '5':asihumi(2);break; 370 case '1':atahida();break; 380 case '7':atamigi();break; 390} 400 for(dd=0;dd<10;dd++) 410 servo(); 420}} 430void servo() 440{int dd; 450 poke(0x1ff,1); 460 poke(0x1fe,srv1); 470 call(0x100,&dd); 480 poke(0x1ff,8); 490 poke(0x1fe,srv8); 500 call(0x100,&dd); 510 poke(0x1ff,4); 520 poke(0x1fe,srv4); 530 call(0x100,&dd); 540 poke(0x1ff,2); 550 poke(0x1fe,srv2); 560 call(0x100,&dd); 570 poke(0x1ff,16); 580 poke(0x1fe,srv16); 590 call(0x100,&dd); 600 for(dd=0;dd<10;dd++); 610} 620void srv2m( p, q) 630{ 640 srv4-=2; 650 servo(); 660 for(srv2=p;srv2>q;srv2--) 670 { srv4--; 680 servo(); 690 } 700} 710void srv4p( p, q) 720{ 730 srv2+=2; 740 servo(); 750 for(srv4=p;srv4mia1;srv8--) 1860 {servo(); 1870 srv1--; 1880 } 1890 srv2m(hik2,hik1); 1900 for(srv8=mia1;srv8mia1;srv8--) 2110 { servo(); 2120 srv1--; 2130 } 2140 for(f=0;fmia1;srv8--) 2230 {servo(); 2240 srv1--; 2250 } 2260 } 2270 srv4p(mik1,mik); 2280 for(srv8=mia1;srv8hia1;srv1--) 2410 servo(); 2420 for (f=0;fhia1;srv1--) 2490 servo(); 2500 } 2510 srv1=hia; 2520 srv2m(hik2,hik); 2530 for(d=0;d<10;d++) servo(); 2540} 2550void hidarimae(ee) 2560{int b,d,f; 2570 srv2=hik; 2580 srv2m(hik,hik1); 2590 for(srv8=mia;srv8mia1;srv8--) 2650 servo(); 2660 srv2m(hik2,hik1); 2670 for(srv8=mia1;srv8(atama-20);srv16--) 2900 servo(); 2910 } 2920 else 2930 head(); 2940} 2950 void head() 2960 { 2970 while(srv16atama) 3020 { servo(); 3030 srv16--; 3040 } 3050 }