使用2D数组检查java连接4中的对角线胜利

时间:2017-11-09 20:55:00

标签: java arrays

我正在为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; 
}

非常感谢您给我的任何帮助!

0 个答案:

没有答案