2015-05-10 4 views
-4

Я хочу сделать игру Tic tac toe в Dr Java.Как поместить эту программу в цикл

  1. Прошу вас, чтобы число между 0-8. Вы выбираете номер 5.
  2. Затем он должен распечатать табличку с тик-таком, где 5 будет заменен на X.
  3. Затем я снова спрашиваю вас о числе от 0 до 8. Допустим, вы выбираете 3.
  4. Затем он должен показать Tic Tac Toe доска, где 5 и 3 будут заменены на X.

Это будет здорово, если вы можете помочь с этой программой.

Кстати, это только метод, и мне еще нужно написать основной корпус.

Это мой код, выполненный в Dr Java.

import java.util.Scanner; 

public class TicTacToeArray { 

    public static void main(String[] args){ 

    Scanner in = new Scanner(System.in); 

    int [] A1 = {0,1,2}; 
    int [] A2 = {3,4,5}; 
    int [] A3 = {6,7,8}; 
    int [] A4 = {0,3,6}; 
    int [] A5 = {1,4,7}; 
    int [] A6 = {2,5,8}; 
    int [] A7 = {0,4,8}; 
    int [] A8 = {2,4,6}; 


    System.out.println("Player #1: Please enter a number between 0-8"); 
    int playerOne = in.nextInt(); 

    if (playerOne == A1 [0]){ 
     System.out.println("   |   |   "); 
     System.out.println(" X  | 1  |  2 "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" 3  | 4  |  5 "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" 6  | 7  |  8 "); 
     System.out.println("   |   |   "); 


    }else if (playerOne ==A1 [2]){ 
     System.out.println("   |   |   "); 
     System.out.println(" 0  | 1  | X  "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" 3  | 4  |  5 "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" 6  | 7  |  8 "); 
     System.out.println("   |   |   "); 

    }else if (playerOne ==A2 [0]){ 
     System.out.println("   |   |   "); 
     System.out.println(" 0  | 1  | 2  "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" X  | 4  |  5 "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" 6  | 7  |  8 "); 
     System.out.println("   |   |   "); 


    }else if (playerOne ==A2 [1]){ 
     System.out.println("   |   |   "); 
     System.out.println(" 0  | 1  | 2  "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" 3  | X  |  5 "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" 6  | 7  |  8 "); 
     System.out.println("   |   |   "); 


    }else if (playerOne ==A2 [2]){ 
     System.out.println("   |   |   "); 
     System.out.println(" 0  | 1  | 2  "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" 3  | 4  | X  "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" 6  | 7  |  8 "); 
     System.out.println("   |   |   "); 


    }else if (playerOne ==A3 [0]){ 
     System.out.println("   |   |   "); 
     System.out.println(" 0  | 1  | 2  "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" 3  | 4  | 5  "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" X  | 7  |  8 "); 
     System.out.println("   |   |   "); 


    }else if (playerOne ==A3 [1]){ 
     System.out.println("   |   |   "); 
     System.out.println(" 0  | 1  | 2  "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" 3  | 4  | 5  "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" 6  | X  |  8 "); 
     System.out.println("   |   |   "); 

    }else if (playerOne ==A3 [2]){ 
     System.out.println("   |   |   "); 
     System.out.println(" 0  | 1  | 2  "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" 3  | 4  | 5  "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------");  
     System.out.println("   |   |   "); 
     System.out.println(" 6  | 7  |  X "); 
     System.out.println("   |   |   "); 

    }else { 
     System.out.println("Try Again"); 

    } 
    return -1; 
    } 
+0

Java и JavaScript - это совершенно разные языки. Пожалуйста, убедитесь, что вы выбрали только теги, связанные с вашей реальной проблемой. На этот раз я исправил это для вас. –

+0

Это очень много набрав ... – Suspended

+0

Так вы можете помочь мне сделать это. –

ответ

0

Хотя его не хороший вопрос .. но вот то, что вы хотели, просто держать всю логику в цикле, состояние которого всегда правильно .. как это ..

while (true) { 
    int playerOne = in.nextInt(); 

    if (playerOne == A1 [0]){ 
     System.out.println("   |   |   "); 
     System.out.println(" X  | 1  |  2 "); 
     System.out.println("   |   |   ");  
     System.out.println(" -------------------------------"); 
     //...... 
     // All other if conditions here 
     //...... 

     else { 
     System.out.println("Try Again"); 
      } 
    } //Means include all data in loop while (true) 
     return -1; 
    } 

Он будет работать навсегда вам придется разбить его вручную с помощью какого-то условия. как

 if (tries == 5) 
      break ; 
+0

Как это проверить? По проверке я имею в виду, скажем, вы ввели 2, теперь 2 будут заменены на X, и я спрашиваю вас в другой раз, U ввел 1, что мне нужно написать, чтобы напечатать предыдущую плату tic tac и текущий совет. –

0

Вот как вы должны использовать время цикла. Так как вам нужно что-то сделать, здесь не была введена моя логика метода wins(). Вы можете написать свой собственный.

Scanner scanner = new Scanner(System.in); 
    char[][] ttt = new char[][] { 
      {'N', 'N', 'N'}, 
      {'N', 'N', 'N'}, 
      {'N', 'N', 'N'} 
    }; 

    int i=0; 
    boolean result = false; 
    while (i<9) { 
     String s = scanner.next(); 
     try { 
      int number = Integer.parseInt(s); 
      if (number > 8) { 
       System.out.println("Number greater than 8."); 
       continue; 
      } 

      char playerCharacter; 
      if (i%2 == 0) { 
       playerCharacter = 'X'; 
      } else { 
       playerCharacter = 'O'; 
      } 

      int row = number/3; 
      int col = number % 3; 

      if (ttt[row][col] == 'X' || ttt[row][col] == 'Y') { 
       System.out.println("Entered place already taken."); 
       continue; 
      } 

      if (win(ttt, row, col)) { 
       System.out.println(playerCharacter + " wins"); 
       result = true; 
       break; 
      } 


     } catch (NumberFormatException e) { 
      System.out.println("Number entered is incorrect."); 
      continue; 
     } 
     i++; 
    } 
    if (!result) { 
     System.out.println("Match drawn"); 
    } 
+0

Как проверить его сейчас. По проверке я имею в виду, скажем, вы ввели 2, теперь 2 будут заменены на X, и я спрашиваю вас в другой раз, U ввел 1, что мне нужно написать, чтобы напечатать предыдущую плату tic tac и текущий совет. –

Смежные вопросы