how to make it another player's turn java

Java
       private boolean winner(int row, int col) {
            // This is called just after a piece has been played on the
            // square in the specified row and column.  It determines
            // whether that was a winning move by counting the number
            // of squares in a line in each of the four possible
            // directions from (row,col).  If there are 5 squares (or more)
            // in a row in any direction, then the game is won.
            
          if (count( board[row][col], row, col, 1, 0 ) >= 5)
             return true;
          if (count( board[row][col], row, col, 0, 1 ) >= 5)
             return true;
          if (count( board[row][col], row, col, 1, -1 ) >= 5)
             return true;
          if (count( board[row][col], row, col, 1, 1 ) >= 5)
             return true;
             
          /* When we get to this point, we know that the game is not won. */

          return false;
          
       }  // end winner()
      void doClickSquare(int row, int col) {
             // This is called by mousePressed() when a player clicks 
             // on the square in the specified row and col.  It has already 
             // been checked that a game is, in fact, in progress.
             
          /* Check that the user clicked an empty square.  If not, show an
             error message and exit. */
             
          if ( board[row][col] != EMPTY ) {
             if (currentPlayer == BLACK)
                message.setText("BLACK:  Please click an empty square.");
             else
                message.setText("WHITE:  Please click an empty square.");
             return;
          }
          
          /* Make the move.  Check if the board is full or if the move
             is a winning move.  If so, the game ends.  If not, then it's
             the other user's turn. */
             
          board[row][col] = currentPlayer;  // Make the move.
          Graphics g = getGraphics();
          drawPiece(g, currentPlayer, row, col);  // Draw the new piece.
          g.dispose();
          
          if (winner(row,col)) {  // First, check for a winner.
             if (currentPlayer == WHITE)
                gameOver("WHITE wins the game!");
             else
                gameOver("BLACK wins the game!");
             return;
          }
          
          boolean emptySpace = false;     // Check if the board is full.
          for (int i = 0; i < 13; i++)
             for (int j = 0; j < 13; j++)
                if (board[i][j] == EMPTY)
                   emptySpace = true;  // The board contains an empty space.
          if (emptySpace == false) {
             gameOver("The game ends in a draw.");
             return;
          }
          
          /* Continue the game.  It's the other player's turn. */
          
          if (currentPlayer == BLACK) {
             currentPlayer = WHITE;
             message.setText("WHITE:  Make your move.");
          }
          else {  
             currentPlayer = BLACK;
             message.setText("BLACK:  Make your move.");
          }
    
       }  // end doClickSquare()

       private void drawPiece(Graphics g, int piece, int row, int col) {
              // Draw a piece in the square at (row,col).  The color 
              // is specified by the "piece" parameter, which should be 
              // either BLACK or WHITE.
          if (piece == WHITE)
             g.setColor(Color.white);
          else
             g.setColor(Color.black);
          g.fillOval(3 + 13*col, 3 + 13*row, 10, 10);
       }
      int ct = 1;  // Number of pieces in a row belonging to the player.
      
      int r, c;    // A row and column to be examined
      
      r = row + dirX;  // Look at square in specified direction.
      c = col + dirY;
      while ( r >= 0 && r < 13 && c >= 0 && c < 13 
                                        && board[r][c] == player ) {
              // Square is on the board, and it 
              // contains one of the players's pieces.
         ct++;
         r += dirX;  // Go on to next square in this direction.
         c += dirY;
      }

      r = row - dirX;  // Now, look in the opposite direction.
      c = col - dirY;
      while ( r >= 0 && r < 13 && c >= 0 && c < 13 
                                       && board[r][c] == player ) {
         ct++;
         r -= dirX;   // Go on to next square in this direction.
         c -= dirY;
      }

                            dirX    dirY    Why?
                           ----    ----    --------------------------------
     horizontal direction    1       0       Only x changes.
     vertical direction      0       1       Only y changes.
     first diagonal          1       1       Both x and y change.
     second diagonal         1      -1       Change in opposing directions.
       public void paint(Graphics g) {
          
          /* Draw grid lines in darkGray.  */
          
          g.setColor(Color.darkGray);
          for (int i = 1; i < 13; i++) {
             g.drawLine(1 + 13*i, 0, 1 + 13*i, getSize().height);
             g.drawLine(0, 1 + 13*i, getSize().width, 1 + 13*i);
          }
          
          /* Draw a two-pixel black border around the edges of the board. */
  
          g.setColor(Color.black);
          g.drawRect(0,0,getSize().width-1,getSize().height-1);
          g.drawRect(1,1,getSize().width-3,getSize().height-3);
          
          /* Draw the pieces that are on the board. */
          
          for (int row = 0; row < 13; row++)
             for (int col = 0; col < 13; col++)
                if (board[row][col] != EMPTY)
                   drawPiece(g, board[row][col], row, col);
                   
        }  // end paint()
            g.fillOval(3 + 13*col, 3 + 13*row, 10, 10);

Source

Also in Java: