📄 fyrad.c
字号:
if(cursory < -20 && cursory > -40)
exit(0);
}
if(cursorx < -5 && cursorx > -80){
if(cursory < -80 && cursory > -100)
{
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();
small_main();}
if(cursory < -60 && cursory > -80)
{ shortkey();
code=specialkey();
small_main();}
}
clearmain();
getch();
}
int small_judge(int b[6][6],int i,int j){
int a[9][12];
int p,q;
int c;
for(p=0;p<9;p++){
for(q=0;q<12;q++){
a[p][q]=0;
}}
for(p=0;p<6;p++){
for(q=0;q<6;q++){
a[p][q+3]=b[p][q];
}}
c=small_panduan(a,i,j);
return c;
}
int small_judge1(int b[6][6],int i,int j){
int a[9][12];
int p,q;
int c;
for(p=0;p<9;p++){
for(q=0;q<12;q++){
a[p][q]=0;
}}
for(p=0;p<6;p++){
for(q=0;q<6;q++){
a[p][q+3]=b[p][q];
}}
c=small_panduan1(a,i,j);
return c;
}
int lowaismall_search(void){
srand(time(NULL));
return (rand()%6+3)*40;}
int aismall_search(int a[6][6]){
int i,j,k;
int b[9][12];
srand(time(NULL));
for(i=0;i<9;i++){
for(j=0;j<12;j++){
b[i][j]=0;
}}
for(i=0;i<6;i++){
for(j=0;j<6;j++){
b[i][j+3]=a[i][j];
}}
for(i=0;i<6;i++){
j=small_search(a,i);
if(j<=-1){continue;}
k=small_panduan(b,j,i);
if(k==-1) {return (i+3)*40;}
}
for(i=0;i<6;i++){
j=small_search(a,i);
if(j<=-1){continue;}
k=small_panduan(b,j,i);
if(k==1) {return (i+3)*40;}
}
return (rand()%6+3)*40;
}
int small_panduan(int a[9][12],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 small_panduan1(int a[9][12],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;
}
void small_Draw(void){
int i,j;
setviewport(50,50,474,475,1);
for(i=100;i<=340;i+=40){
setcolor(BLUE);
line(100,i,340,i);
setcolor(BLUE);
line(i,100,i,340);
for(j=100;j<340;j+=40){
circle(i+20,j+20,15);
setfillstyle(SOLID_FILL,BLACK);
floodfill(i+20,j+20,BLUE);
}
}
for(j=100;j<340;j+=40){
setcolor(BLACK);
circle(360,j+20,15);}
}
int small_search(int a[6][6],int b){
int i;
for(i=5;i>=0;i--){
if(a[i][b]==0){
return i;}
}
return -1;
}
void small_put(int a[6][6],int c){
int code;
int z;
int x,y;
int m,n;
int v;
int i,j;
x=120;
y=120;
z=1;
small_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<6;i++){
for(j=0;j<6;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==320) 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:\\small_hehe.txt","w"))==NULL)
{exit(0);}
for(i=0;i<6;i++){
for(j=0;j<6;j++){
fprintf(fp,"%5d",a[i][j]);
}}
fclose(fp);
small_main();
}
if(code==ENTER) {
if ( z%2==1){
m=small_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=small_judge1(a,m,x);
if(v==1){
flash(m,x,1);
winregister(1);
v=specialkey();
small_main(); }
z++;
x=120;
y=120; }
if (z%2==0){
if(c==3){n=aismall_search(a);}
if(c==4){n=lowaismall_search();}
m=small_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=small_judge(a,m,n);
if(v==-1){
flash(m,n,2);
winregister(2);
v=specialkey();
small_main(); }
z++;
x=120;
y=120;
}
if (z==36){winregister(3);
v=specialkey();
small_main(); }
}
}
small_main();
getch();
}
void small_put1(int a[6][6],int c){
int code;
int z;
int x,y;
int m,n;
int v;
int i,j;
x=120;
y=120;
z=1;
small_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<6;i++){
for(j=0;j<6;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:\\small_hehe.txt","w"))==NULL)
{exit(0);}
for(i=0;i<6;i++){
for(j=0;j<6;j++){
fprintf(fp,"%5d",a[i][j]);
}}
fclose(fp);
small_main();
}
if(code==RIGHT) {
if(x==320) 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=small_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=small_judge1(a,m,x);
if(v==1){
flashcolor(m,x,1);
winregister(1);
v=specialkey();
small_main(); }
z++;
x=120;
y=120; }
if (z%2==0){
if(c==3){n=aismall_search(a);}
if(c==4){n=lowaismall_search();}
m=small_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=small_judge(a,m,n);
if(v==-1){
flashcolor(m,n,2);
winregister(2);
v=specialkey();
small_main(); }
z++;
x=120;
y=120;
}
if (z==36){
winregister(3);
v=specialkey();
small_main(); }
}
}
small_main();
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -