?? checkwin.java
字號:
public class CheckWin {
int i,j;
int m=0;
int n=0;
int x,y;
int ch[][]=new int[18][18 ];
public void CheckWin()
{
}
public int CheckWin(int ch_[][],int i_,int j_)
{
i=i_;
j=j_;
ch=ch_;
for(x=i;x<(i+4)&&(x<17);x++)
{
if(ch[x][j]==ch[x+1][j])
m++;
else
break;
}
for(x=i;x>(i-4)&&(x>0);x--)
{
if(ch[x][j]==ch[x-1][j])
n++;
else
break;
}
if((m+n)>=4) //判斷橫向
return ch[i][j];
m=0;
n=0;
for(x=j;x<(j+4)&&(x<17);x++)
{
if(ch[i][x]==ch[i][x+1])
m++;
else
break;
}
for(x=j;x>(j-4)&&(x>0);x--)
{
if(ch[i][x]==ch[i][x-1])
n++;
else
break;
}
if((m+n)>=4) //判斷縱向
return ch[i][j];
m=0;
n=0;
for(x=i,y=j;x<(i+4)&&y<(j+4)&&x<17&&y<17;x++,y++)
{
if(ch[x][y]==ch[x+1][y+1])
m++;
else
break;
}
for(x=i,y=j;x>(i-4)&&y>(j-4)&&x>0&&y>0;x--,y--)
{
if(ch[x][y]==ch[x-1][y-1])
n++;
else
break;
}
if((m+n)>=4) //判斷左上右下向
return ch[i][j];
m=0;
n=0;
for(x=i,y=j;x<(i+4)&&y>(j-4)&&x<17&&y>0;x++,y--)
{
if(ch[x][y]==ch[x+1][y-1])
m++;
else
break;
}
for(x=i,y=j;x>(i-4)&&y<(j+4)&&x>0&&y<17;x--,y++)
{
if(ch[x][y]==ch[x-1][y+1])
m++;
else
break;
}
if((m+n)>=4) //判斷左下右上向
return ch[i][j];
m=0;
n=0;
return 0; //沒有結束
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -