100#include "inkey.h" 110#include "rand.h" 120#define WX 6 130#define WY 17 140#define CR 4 150#define DL 4 160#define WT 20 170#define OJA 236 180#define OJ 11 190#define gxy gotoxy 200unsigned char v[WX][WY],t[WX][WY],rp[4];char *of[2]={"OFF","ON "};int d[4][2]={0,-1,-1,0,1,0,0,1},rr,fo=1; 210wait(int w){for(;w>0;w--);}pclr(){int i;for(i=0;iix&&WY>iy&&(((v[x][y]&0x7F)==(v[ix][iy]&0x7F)&&'@'ix&&WY>iy&&(v[ix][iy]|32)==c&&!t[ix][iy]){if(c==(v[ix][iy]|32)){r++;v[ix][iy]|=32;} 290r+=_pchg(ix,iy);}}return r;} 300int pchg(int x,int y){int i,j;for(i=0;i%c\n>%c\nSCORE\n%5i",rp[2],rp[3],sc);} 320chk(int x,int y,int nrr){int r=1;if(0>x||0>y||WX<=x||WY<=y||0x||0>y||WX<=x||WY<=y||0%c",rp[2],rp[3]);} 340ppdrw(int x,int y,int ox,int oy,int orr){oy=22-oy;y=22-y; 350gxy(oy,ox);printf(" ");if(!orr){gxy(oy,ox+1);printf(" ");}if(1==orr){gxy(oy+1,ox);printf(" ");}if(2==orr){gxy(oy,ox+1);printf(" ");}if(3==orr){gxy(oy+1,ox);printf(" ");} 360gxy(y,x);if(!rr){putchar(rp[0]);gxy(y,x+1);putchar(rp[1]);}if(1==rr){putchar(rp[0]);gxy(y+1,x);putchar(rp[1]);}if(2==rr){putchar(rp[1]);gxy(y,x+1);putchar(rp[0]);}if(3==rr){putchar(rp[1]);gxy(y+1,x);putchar(rp[0]);}} 370int ppset(int x,int y){int r,i,j,k,rn=0,rv=0;if(!rr){v[x][y]=rp[0];v[x+1][y]=rp[1];}if(1==rr){v[x][y]=rp[0];v[x][y-1]=rp[1];}if(2==rr){v[x][y]=rp[1];v[x+1][y]=rp[0];}if(3==rr){v[x][y]=rp[1];v[x][y-1]=rp[0];} 380if(!(rr&1)){for(j=y-1;0<=j;j--){if('.'>v[x][j])v[x][j]|=128;if('.'>v[x+1][j])v[x+1][j]|=128;}}psft(1); 390for(k=1;k;){k=0;for(i=0;i=0;j--)if(isalpha(v[i][j])){r=pchg(i,j);if(DL<=r+1){rn+=(r+2-DL);rv++;pdl(i,j);k=1;}}if(k){pdrw(1);psft(0);pdrw(0);}}pslp();return rn*rv;} 400poj(){int x,oy,y,b[WX];for(x=0;x=0;oy=y,y--,wait(100))for(x=0;x");oy=y;if('2'==c&&3>y)y++,oc=c;if('8'==c&&2START");gxy(5,3);puts("CONFIG");gxy(5,4);puts("END"); 440for(oc=0,oy=y=2;;i++){c=inkey();if(oc-c)oc=0;else c=0;gxy(4,oy);puts(" ");gxy(4,y);puts(">");oy=y;if('2'==c&&4>y)y++,oc=c;if('8'==c&&2