int n[][]=new int [17][17];//该点数值
int m[][]=new int [17][17];//该点状态tizi(1,0);
tizi(-1,0);
tizi(0,1);
tizi(0,-1); protected void eliminate(int x,int y){//判定提子函数2
if((x>1 && n[x-1][y]==0) || (x<sum-2 && n[x+1][y]==0) || (y>1 && n[x][y-1]==0) || (y<sum-2 && n[x][y+1]==0)){
eat=0;
}
if (x>0 && n[x-1][y]==n[x][y] && m[x-1][y]==0){
m[x-1][y]=1;
eliminate(x-1,y);
}
if (y>0 && n[x][y-1]==n[x][y] && m[x][y-1]==0){                                                                                       
m[x][y-1]=1;
eliminate(x,y-1);
}
if (x<sum-2 && n[x+1][y]==n[x][y] && m[x+1][y]==0){
m[x+1][y]=1;
eliminate(x+1,y);
}
if (y<sum-2 && n[x][y+1]==n[x][y] && m[x][y+1]==0){
m[x][y+1]=1;
eliminate(x,y+1);
}
}
protected void clear(){//回复状态函数
for(i=0;i<sum;i++){
for(j=0;j<sum;j++){
m[i][j]=0;
u=0;
}
}
}
protected void tizi(int x1,int y1){//判定提子函数1
eat=1;
clear();
if(h_pos+x1>0 && h_pos+x1<=sum-2 && v_pos+y1>0 && v_pos+y1<=sum-2 && n[h_pos][v_pos]!=n[h_pos+x1][v_pos+y1] && n[h_pos+x1][v_pos+y1]!=0){
m[h_pos+x1][v_pos+y1]=1;
eliminate(h_pos+x1,v_pos+y1);
if(eat==1){
for(i=0;i<sum;i++){
for(j=0;j<sum;j++){
if (m[i][j]==1){
n[i][j]=0;
}
}
}
}
}
}
这个是我在这里找到的一个算法有高手能够综合一下吗?