我正在为java编写一个connect 4程序。我知道如何检查水平和垂直的胜利,但我似乎无法弄清楚如何检查对角线的胜利。这是我的计划:
private int[][] board= new int[6][7];
public int connectFour(int[][] temp){
int pOneh= 0;
int pTwoh= 0;
int pOnev= 0;
int pTwov= 0;
for(int r=0; r<temp.length; r++){
for(int c=0; c<temp[r].length; c++){
//For Player 1 Horozontal check
if(temp[r][c]== 1){
pOneh++;
}
else{
pOneh=0;
}
//For Player 2 Horozontal Check
if(temp[r][c]== 2){
pTwoh++;
}
else{
pTwoh=0;
}
if(pOneh==4)return 1;
if(pTwoh==4)return 2;
}
}
for(int c= 0; c<6; c++){
for(int r= 0; r<temp.length; r++){
//For player 1 Vertical Check
if(temp[r][c]==1){
pOnev++;
}
else{
pOnev=0;
}
//For player 2 Vertical Check
if(temp[r][c]==2){
pTwov++;
}
else{
pTwov=0;
}
}
if(pOnev==4) return 1;
if(pTwov==4) return 2;
}
//需要在这里进行对角检查
return 0;
}
非常感谢您给我的任何帮助!