首页 文章

如何在Java 2d数组Tic Tac Toe中检查垂直和对角线Win

提问于
浏览
0

我正在使用2d JButton阵列在Java中编写一个tic tac toe游戏 . 我需要能够使用For循环来检查游戏的赢家 . 当获胜的X或O组包含在一行中时,我已成功检查获胜者,但我不太确定如何检查列,对角线和反向对角线 . 我会使用另一种方法来检查获胜者,但我需要以非常具体的方式写这个 .

buttons = new JButton[3][3];

        public String checkWin() {
        String winString = null;

        for (int i = 0; i < buttons.length; i++){

            int xCount = 0;
            int oCount = 0;

            for(int j = 0; j < buttons[i].length; j++){
                if (buttons[i][j].getText().equals("X")){
                    xCount ++;
                }

                if (buttons[i][j].getText().equals("O")){
                    oCount ++;
                }

                if (xCount == buttons[i].length){
                    winString = "X wins!";
                }

                if (oCount == buttons[i].length){
                    winString = "O wins!";
                }
            }
        }

        return (winString);

    }

2 回答

  • 1

    垂直:用代码中的按钮[j] [i]替换按钮[i] [j] . 对角线:制作一个检查按钮[i] [i]的循环 . 反向对角线:在你检查按钮[buttons.size - i - 1] [i]的位置做一个循环 .

  • 1

    首先在纸上画板,并注意垂直获胜配置的坐标 .

    然后重复对角线胜利 .

    这应该告诉你你需要知道什么 .

相关问题