我正在使用Java的2D数组JButton编写井字游戏。我需要能够使用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);

    }

最佳答案

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

然后重复对角线获胜。

这应该告诉您您需要了解的内容。

关于java - 如何在Java 2d阵列井字游戏中检查垂直和对角线Win,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9899612/

10-12 00:05
查看更多