2012-03-28 55 views
0

我正在寫一個使用JButton的二維數組在Java中的tic tac腳趾遊戲。我需要能夠使用For循環檢查遊戲的勝利者。當獲勝的一組X或O連續排在一行時,我已經成功地檢查了勝利者,但是我不太清楚如何檢查一列,對角線和反向對角線。我會用另一種方法來檢查獲勝者,但我需要以一種非常具體的方式寫這個。如何檢查垂直和對角線贏在Java二維數組井字趾

 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); 

    } 

回答

1

首先在紙上繪製紙板,並注意垂直獲勝配置的座標。

然後重複對角線勝。

這應該告訴你你需要知道什麼。

1

垂直:在代碼中用按鈕[j] [i]替換按鈕[i] [j]。 對角線:做一個檢查按鈕[i] [i]的單個循環。 反向對角線:讓你檢查按鈕[buttons.size - i - 1] [i]。

+0

當我用按鈕[j] [i]替換按鈕[i] [j]遊戲結束後,連續出現2個x或o。我需要它以連續3次結束。 – weberwe3 2012-03-28 01:12:48