2015-09-23 37 views
0

我正在做一個井字遊戲。我現在被困在如何檢查贏家。
我在checkwinner方法中得到「java:97:error not statement」。
checkwinner應停止遊戲並宣佈獲勝者。
我的代碼中的錯誤在哪裏?java:97:錯誤不是聲明

import java.util.Scanner; 
    public class TicTac{ 
     private static char [][] board = new char [3][3]; 
     private static char playerX = 'X'; 
     private static char playerO = 'O'; 
     private static Scanner keyboard = new Scanner(System.in); 
     private static char invalitplay = 0; 
     private static boolean playerTurn = true; 

     public static void main(String[] args){ 
      runing(); 

     } 
     public static void runing(){ 
     showBoard(); 
     currentPlayer(); 
     gameEnd(); 
     } 

    public void menu(){ 
    System.out.println("welcome to TIC TAC TOE "); 
    System.out.println("would you like to play? (Y/N)"); 
     } 

    // rita upp brädet 
    public static void showBoard(){ 
     for(int i = 0; i < board.length; i++) { 
     for(int j = 0; j < board[i].length; j++) { 
      System.out.print("[ " + board[i][j] + " ]" + "\t"); 
     } 
     System.out.println("\n"); 
     } 
     } 
     //ta bort allt värde i arry/starta om spelet 
    public static void clearBoard(){ 
     for(int i = 0; i < board.length; i++) { 
     for(int j = 0; j < board[i].length; j++) { 
      board[i][j] = 0; 

     } 
     } 
    } 
    public static void currentPlayer(){ 
     for (int turn = 0; turn < 9; turn++){ 

      if(playerTurn){ 
      playerWithX(); 
      playerTurn= false; 
      } 
      else{ 
       playerWithO(); 
      playerTurn = true; 
      } 

     } 
     System.out.println("DRAW"); 

     } 
    public static void playerWithO(){ 

     System.out.println(" Player O :Enter a row: "); 
     int row = keyboard.nextInt()-1; 

     System.out.println(" Player O :Enter a column: "); 
     int col = keyboard.nextInt()-1; 
     board[row][col] = playerO; 
     showBoard(); 
    // booleanen = true; 
     } 
    public static void playerWithX(){ 

     System.out.println("Player X: Enter a row: "); 
     int row = keyboard.nextInt()-1; 

     System.out.println("Player X:Enter a column: "); 
     int col = keyboard.nextInt()-1; 
     board[row][col] = playerX; 
     showBoard(); 
     //booleanen = false; 

    } 
     // kolla vem tur det är genom att börja med player X som start 
    public static void checkwinner(){ 
     if (board[0][0] == playerX && board[0][1] == playerX && board[0][2] == playerX || /* första raden*/ 
      board[1][0] == playerX && board[1][1] == playerX && board[1][2] == playerX || /* andra raden*/ 
      board[2][0] == playerX && board[2][1] == playerX && board[2][2] == playerX || /* tredje raden*/ 
      board[0][0] == playerX && board[1][0] == playerX && board[2][0] == playerX || /* första colum*/ 
      board[0][1] == playerX && board[1][1] == playerX && board[2][1] == playerX || /* andra colum*/ 
      board[0][2] == playerX && board[1][2] == playerX && board[2][2] == playerX || /* tredje colum*/ 
      board[0][0] == playerX && board[1][1] == playerX && board[2][2] == playerX || /* snea vänster till höger*/ 
      board[2][0] == playerX && board[1][1] == playerX && board[0][2] == playerX){ /*snea höger till vänster*/ 
    System.out.println("Player X has won"); 
      gameEnd(); 

     }else{ 

      (board[0][0] == playerO && board[0][1] == playerO && board[0][2] == playerO || /* första raden*/ 
      board[1][0] == playerO && board[1][1] == playerO && board[1][2] == playerO || /* andra raden*/ 
      board[2][0] == playerO && board[2][1] == playerO && board[2][2] == playerO || /* tredje raden*/ 
      board[0][0] == playerO && board[1][0] == playerO && board[2][0] == playerO || /* första colum*/ 
      board[0][1] == playerO && board[1][1] == playerO && board[2][1] == playerO || /* andra colum*/ 
      board[0][2] == playerO && board[1][2] == playerO && board[2][2] == playerO || /* tredje colum*/ 
      board[0][0] == playerO && board[1][1] == playerO && board[2][2] == playerO || /* snea vänster till höger*/ 
      board[2][0] == playerO && board[1][1] == playerO && board[0][2] == playerO); /* snea höger till vänster*/ 
    System.out.println("Player O has won"); 
      gameEnd(); 
     } 
     } 

    public static void gameEnd(){ 
     System.out.println("Wanna play again?"); 
     String answer ="yes"; 
     answer = keyboard.nextLine(); 

     while(answer.equals("yes")){ 
     clearBoard(); 

     } 
     } 
    } 
+0

你必須發佈錯誤,你也忘記把'if'放在其他部分 – silentprogrammer

+0

在你的巨量檢查之前刪除'{''''後'else'並加上'if'。用'{'替代';'在巨量的檢查結尾處。 – Manu

回答

0

你應該

public static void cheakwinner(){ 
    if (board[0][0] == playerX && board[0][1] == playerX && board[0][2] == playerX || /* första raden*/ 
     board[1][0] == playerX && board[1][1] == playerX && board[1][2] == playerX || /* andra raden*/ 
     board[2][0] == playerX && board[2][1] == playerX && board[2][2] == playerX || /* tredje raden*/ 
     board[0][0] == playerX && board[1][0] == playerX && board[2][0] == playerX || /* första colum*/ 
     board[0][1] == playerX && board[1][1] == playerX && board[2][1] == playerX || /* andra colum*/ 
     board[0][2] == playerX && board[1][2] == playerX && board[2][2] == playerX || /* tredje colum*/ 
     board[0][0] == playerX && board[1][1] == playerX && board[2][2] == playerX || /* snea vänster till höger*/ 
     board[2][0] == playerX && board[1][1] == playerX && board[0][2] == playerX){ /*snea höger till vänster*/ 
     System.out.println("Player X has won"); 
     gameEnd(); 

    }else if (board[0][0] == playerO && board[0][1] == playerO && board[0][2] == playerO || /* första raden*/ 
       board[1][0] == playerO && board[1][1] == playerO && board[1][2] == playerO || /* andra raden*/ 
       board[2][0] == playerO && board[2][1] == playerO && board[2][2] == playerO || /* tredje raden*/ 
       board[0][0] == playerO && board[1][0] == playerO && board[2][0] == playerO || /* första colum*/ 
       board[0][1] == playerO && board[1][1] == playerO && board[2][1] == playerO || /* andra colum*/ 
       board[0][2] == playerO && board[1][2] == playerO && board[2][2] == playerO || /* tredje colum*/ 
       board[0][0] == playerO && board[1][1] == playerO && board[2][2] == playerO || /* snea vänster till höger*/ 
       board[2][0] == playerO && board[1][1] == playerO && board[0][2] == playerO) { /* snea höger till vänster*/ 
       System.out.println("Player O has won"); 
       gameEnd(); 
    } 
    } 
0

else-if聲明更改函數cheakwinner缺少的if

相反的:

}else{ 
    (board[0][0] == playerO && board[0][1] == playerO && board[0][2] == playerO || /* första raden*/ 
    board[1][0] == playerO && board[1][1] == playerO && board[1][2] == playerO || /* andra raden*/ 
    board[2][0] == playerO && board[2][1] == playerO && board[2][2] == playerO || /* tredje raden*/ 
    board[0][0] == playerO && board[1][0] == playerO && board[2][0] == playerO || /* första colum*/ 
    board[0][1] == playerO && board[1][1] == playerO && board[2][1] == playerO || /* andra colum*/ 
    board[0][2] == playerO && board[1][2] == playerO && board[2][2] == playerO || /* tredje colum*/ 
    board[0][0] == playerO && board[1][1] == playerO && board[2][2] == playerO || /* snea vänster till höger*/ 
    board[2][0] == playerO && board[1][1] == playerO && board[0][2] == playerO); /* snea höger till vänster*/ 
     System.out.println("Player O has won"); 
     gameEnd(); 
    } 

嘗試:

} else if(board[0][0] == playerO && board[0][1] == playerO && board[0][2] == playerO || /* första raden*/ 
     board[1][0] == playerO && board[1][1] == playerO && board[1][2] == playerO || /* andra raden*/ 
     board[2][0] == playerO && board[2][1] == playerO && board[2][2] == playerO || /* tredje raden*/ 
     board[0][0] == playerO && board[1][0] == playerO && board[2][0] == playerO || /* första colum*/ 
     board[0][1] == playerO && board[1][1] == playerO && board[2][1] == playerO || /* andra colum*/ 
     board[0][2] == playerO && board[1][2] == playerO && board[2][2] == playerO || /* tredje colum*/ 
     board[0][0] == playerO && board[1][1] == playerO && board[2][2] == playerO || /* snea vänster till höger*/ 
     board[2][0] == playerO && board[1][1] == playerO && board[0][2] == playerO) { /* snea höger till vänster*/ 
    System.out.println("Player O has won"); 
    gameEnd(); 
}