📄 fyrad.c
字号:
{ small_main();
}
if(cursory < -60 && cursory > -80)
{
if(a==1) { return 2; }
if(a==2) { return 1; }
}
if(cursory < -40 && cursory > -60)
{
if(c==3) { return 4; }
if(c==4) { return 3; }
}
}
if(cursorx < 125 && cursorx > 10){
if(cursory < -80 && cursory > -100)
{ help();
code=specialkey();
main();}
if(cursory < -60 && cursory > -80)
{ shortkey();
code=specialkey();
main();}
}
clearmain();
getch();
}
int judge(int b[8][8],int i,int j){
int a[11][14];
int p,q;
int c;
for(p=0;p<11;p++){
for(q=0;q<14;q++){
a[p][q]=0;
}}
for(p=0;p<8;p++){
for(q=0;q<8;q++){
a[p][q+3]=b[p][q];
}}
c=panduan(a,i,j);
return c;
}
int judge1(int b[8][8],int i,int j){
int a[11][14];
int p,q;
int c;
for(p=0;p<11;p++){
for(q=0;q<14;q++){
a[p][q]=0;
}}
for(p=0;p<8;p++){
for(q=0;q<8;q++){
a[p][q+3]=b[p][q];
}}
c=panduan1(a,i,j);
return c;
}
int lowaisearch(void){
srand(time(NULL));
return (rand()%8+3)*40;}
int aisearch(int a[8][8]){
int i,j,k;
int b[11][14];
srand(time(NULL));
for(i=0;i<11;i++){
for(j=0;j<14;j++){
b[i][j]=0;
}}
for(i=0;i<8;i++){
for(j=0;j<8;j++){
b[i][j+3]=a[i][j];
}}
for(i=0;i<8;i++){
j=search(a,i);
if(j<=-1){continue;}
k=panduan(b,j,i);
if(k==-1) {return (i+3)*40;}
}
for(i=0;i<8;i++){
j=search(a,i);
if(j<=-1){continue;}
k=panduan(b,j,i);
if(k==1) {return (i+3)*40;}
}
return (rand()%8+3)*40;
}
int panduan(int a[11][14],int i,int j){
j=j+3;
if(a[i+1][j]+a[i+2][j]+a[i+3][j]==-3){return -1;}
if(a[i][j+1]+a[i][j+2]+a[i][j+3]==-3){return -1;}
if(a[i][j-1]+a[i][j-2]+a[i][j-3]==-3){return -1;}
if(a[i][j-1]+a[i][j+1]+a[i][j+2]==-3){return -1;}
if(a[i][j-1]+a[i][j-2]+a[i][j+1]==-3){return -1;}
if(a[i+1][j+1]+a[i+2][j+2]+a[i+3][j+3]==-3){return -1;}
if(a[i+1][j+1]+a[i+2][j+2]+a[i-1][j-1]==-3){return -1;}
if(a[i+1][j+1]+a[i-1][j-1]+a[i-2][j-2]==-3){return -1;}
if(a[i-1][j-1]+a[i-2][j-2]+a[i-3][j-3]==-3){return -1;}
if(a[i+1][j-1]+a[i+2][j-2]+a[i+3][j-3]==-3){return -1;}
if(a[i+1][j-1]+a[i+2][j-2]+a[i-1][j+1]==-3){return -1;}
if(a[i+1][j-1]+a[i-1][j+1]+a[i-2][j+2]==-3){return -1;}
if(a[i-1][j+1]+a[i-2][j+2]+a[i-3][j+3]==-3){return -1;}
if(a[i+1][j]+a[i+2][j]+a[i+3][j]==3){return 1;}
if(a[i][j+1]+a[i][j+2]+a[i][j+3]==3){return 1;}
if(a[i][j-1]+a[i][j-2]+a[i][j-3]==3){return 1;}
if(a[i][j-1]+a[i][j+1]+a[i][j+2]==3){return 1;}
if(a[i][j-1]+a[i][j-2]+a[i][j+1]==3){return 1;}
if(a[i+1][j+1]+a[i+2][j+2]+a[i+3][j+3]==3){return 1;}
if(a[i+1][j+1]+a[i+2][j+2]+a[i-1][j-1]==3){return 1;}
if(a[i+1][j+1]+a[i-1][j-1]+a[i-2][j-2]==3){return 1;}
if(a[i-1][j-1]+a[i-2][j-2]+a[i-3][j-3]==3){return 1;}
if(a[i+1][j-1]+a[i+2][j-2]+a[i+3][j-3]==3){return 1;}
if(a[i+1][j-1]+a[i+2][j-2]+a[i-1][j+1]==3){return 1;}
if(a[i+1][j-1]+a[i-1][j+1]+a[i-2][j+2]==3){return 1;}
if(a[i-1][j+1]+a[i-2][j+2]+a[i-3][j+3]==3){return 1;}
return 0;
}
int panduan1(int a[11][14],int i,int j){
j=j+3;
if(a[i+1][j]+a[i+2][j]+a[i+3][j]==3){return 1;}
if(a[i][j+1]+a[i][j+2]+a[i][j+3]==3){return 1;}
if(a[i][j-1]+a[i][j-2]+a[i][j-3]==3){return 1;}
if(a[i][j-1]+a[i][j+1]+a[i][j+2]==3){return 1;}
if(a[i][j-1]+a[i][j-2]+a[i][j+1]==3){return 1;}
if(a[i+1][j+1]+a[i+2][j+2]+a[i+3][j+3]==3){return 1;}
if(a[i+1][j+1]+a[i+2][j+2]+a[i-1][j-1]==3){return 1;}
if(a[i+1][j+1]+a[i-1][j-1]+a[i-2][j-2]==3){return 1;}
if(a[i-1][j-1]+a[i-2][j-2]+a[i-3][j-3]==3){return 1;}
if(a[i+1][j-1]+a[i+2][j-2]+a[i+3][j-3]==3){return 1;}
if(a[i+1][j-1]+a[i+2][j-2]+a[i-1][j+1]==3){return 1;}
if(a[i+1][j-1]+a[i-1][j+1]+a[i-2][j+2]==3){return 1;}
if(a[i-1][j+1]+a[i-2][j+2]+a[i-3][j+3]==3){return 1;}
return 0;
}
int specialkey()
{
int key;
while (bioskey(1)==0);
key=bioskey(0);
key=key&0xff?key&0xff:key>>8;
return(key);
}
void Draw(void){
int i,j;
setviewport(50,50,474,475,1);
for(i=100;i<=420;i+=40){
setcolor(BLUE);
line(100,i,420,i);
setcolor(BLUE);
line(i,100,i,420);
for(j=100;j<420;j+=40){
circle(i+20,j+20,15);
setfillstyle(SOLID_FILL,BLACK);
floodfill(i+20,j+20,BLUE);
}
}
}
int search(int a[8][8],int b){
int i;
for(i=7;i>=0;i--){
if(a[i][b]==0){
return i;}
}
return -1;
}
void put(int a[8][8],int c){
int code;
int z;
int x,y;
int m,n;
int v;
int i,j;
x=120;
y=120;
z=1;
Draw();
if(c==4){
setcolor(BLUE);
rectangle(100,20,420,60);
setfillstyle(SOLID_FILL,BLACK);
floodfill(120,40,BLUE);
setcolor(11);
settextstyle(2,0,10);
outtextxy(170,20,"Low-Level");}
if(c==3){
setcolor(BLUE);
rectangle(100,20,420,60);
setfillstyle(SOLID_FILL,BLACK);
floodfill(120,40,BLUE);
setcolor(13);
settextstyle(2,0,10);
outtextxy(170,15,"High-Level");}
for(i=0;i<8;i++){
for(j=0;j<8;j++){
if(a[i][j]==1){setfillstyle(SOLID_FILL,RED);
floodfill((j+3)*40,(i+3)*40,BLUE);}
if(a[i][j]==-1){setfillstyle(SOLID_FILL,YELLOW);
floodfill((j+3)*40,(i+3)*40,BLUE);}
}}
while(code!=ESC){
code=specialkey();
if(code==RIGHT) {
if(x==400) continue;
setcolor(BLUE);
circle(x+40,y,16);
setcolor(BLACK);
circle(x,y,16);
x=x+40; }
if(code==LEFT) {
if(x==120) continue;
setcolor(BLUE);
circle(x-40,y,16);
setcolor(BLACK);
circle(x,y,16);
x=x-40; }
if(code==DOWN){
FILE*fp;
if((fp=fopen("c:\\hehe.txt","w"))==NULL)
{exit(0);}
for(i=0;i<8;i++){
for(j=0;j<8;j++){
fprintf(fp,"%5d",a[i][j]);
}}
fclose(fp);
main();
}
if(code==ENTER) {
if ( z%2==1){
m=search(a,x/40-3);
if(m==-1){continue;}
m=(m+3)*40;
setcolor(BLACK);
circle(x,y,16);
setfillstyle(SOLID_FILL,RED);
floodfill(x,m,BLUE);
a[m/40-3][x/40-3]=1;
m=m/40-3; x=x/40-3;
v=judge1(a,m,x);
if(v==1){
flash(m,x,1);
winregister(1);
v=specialkey();
main(); }
z++;
x=120;
y=120; }
if (z%2==0){
if(c==3){n=aisearch(a);}
if(c==4){n=lowaisearch();}
m=search(a,n/40-3);
m=(m+3)*40;
setfillstyle(SOLID_FILL,YELLOW);
floodfill(n,m,BLUE);
a[m/40-3][n/40-3]=-1;
m=m/40-3; n=n/40-3;
v=judge(a,m,n);
if(v==-1){
flash(m,n,2);
winregister(2);
v=specialkey();
main(); }
z++;
x=120;
y=120;
}
if (z==64){winregister(3);
v=specialkey();
main(); }
}
}
main();
getch();
}
void put1(int a[8][8],int c){
int code;
int z;
int x,y;
int m,n;
int v;
int i,j;
x=120;
y=120;
z=1;
Draw();
if(c==4){
setcolor(BLUE);
rectangle(100,20,420,60);
setfillstyle(SOLID_FILL,BLACK);
floodfill(120,40,BLUE);
setcolor(11);
settextstyle(2,0,10);
outtextxy(170,20,"Low-Level");}
if(c==3){
setcolor(BLUE);
rectangle(100,20,420,60);
setfillstyle(SOLID_FILL,BLACK);
floodfill(120,40,BLUE);
setcolor(13);
settextstyle(2,0,10);
outtextxy(170,15,"High-Level");}
for(i=0;i<8;i++){
for(j=0;j<8;j++){
if(a[i][j]==1){setfillstyle(SOLID_FILL,WHITE);
floodfill((j+3)*40,(i+3)*40,BLUE);}
if(a[i][j]==-1){setfillstyle(SOLID_FILL,LIGHTRED);
floodfill((j+3)*40,(i+3)*40,BLUE);}
}}
while(code!=ESC){
code=specialkey();
if(code==DOWN){
FILE*fp;
if((fp=fopen("c:\\hehe.txt","w"))==NULL)
{exit(0);}
for(i=0;i<8;i++){
for(j=0;j<8;j++){
fprintf(fp,"%5d",a[i][j]);
}}
fclose(fp);
main();
}
if(code==RIGHT) {
if(x==400) continue;
setcolor(BLUE);
circle(x+40,y,16);
setcolor(BLACK);
circle(x,y,16);
x=x+40; }
if(code==LEFT) {
if(x==120) continue;
setcolor(BLUE);
circle(x-40,y,16);
setcolor(BLACK);
circle(x,y,16);
x=x-40; }
if(code==ENTER) {
if (z%2==1){
m=search(a,x/40-3);
if(m==-1){continue;}
m=(m+3)*40;
setcolor(BLACK);
circle(x,y,16);
setfillstyle(SOLID_FILL,WHITE);
floodfill(x,m,BLUE);
a[m/40-3][x/40-3]=1;
m=m/40-3; x=x/40-3;
v=judge1(a,m,x);
if(v==1){
flashcolor(m,x,1);
winregister(1);
v=specialkey();
main(); }
z++;
x=120;
y=120; }
if (z%2==0){
if(c==3){n=aisearch(a);}
if(c==4){n=lowaisearch();}
m=search(a,n/40-3);
m=(m+3)*40;
setfillstyle(SOLID_FILL,LIGHTRED);
floodfill(n,m,BLUE);
a[m/40-3][n/40-3]=-1;
m=m/40-3; n=n/40-3;
v=judge(a,m,n);
if(v==-1){
flashcolor(m,n,2);
winregister(2);
v=specialkey();
main(); }
z++;
x=120;
y=120;
}
if (z==64){
winregister(3);
v=specialkey();
main(); }
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -