Click here to Skip to main content
15,893,381 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi, I am making a Tic Tac Toe game in Drjava. I need help with this thing. So i wont to put this entire code in a loop so I Dont have to keep printing the same thing over and over again.

Java
<pre lang="Javascript">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");
      
      
    }
  }
}
Posted

1 solution

Patterns, my dear, you have to look for patterns, patterns are everywhere (like Maximillian Cohen would have said...).
You have 9 tiles, arranged in a 3x3 mosaic. I would consider such patterns while writing a function for drawing the tiles, e.g.

Java
import java.util.Scanner;

public class TTT
{

  public static void draw_tiles(int x)
  {
    int c, r; // r is the row number, c is the column number
    for (r = 0; r < 3; ++r)
    {
      System.out.println("           |           |          ");
      for ( c = 0; c < 3; ++c)
      {
        String sep, no;
        int n = r * 3 + c;
        sep = c < 2 ? "|" : "\n";
        System.out.print("     ");
        no = x == n ? "X" : String.valueOf(n);
        System.out.print(no);
        System.out.print("     ");
        System.out.print(sep);
      }
      System.out.println("           |           |          ");
      if ( r < 2 )  System.out.println("----------------------------------");

    }
  }

  public static void main(String[] args)
  {

    Scanner in = new Scanner(System.in);
    System.out.println("Player #1: Please enter a number between 0-8");
    int playerOne = in.nextInt();
    if ( playerOne >= 0 && playerOne <= 8)
      draw_tiles(playerOne);
    else
      System.out.println("Try Again");
  }
}
 
Share this answer
 
Comments
Jainam Patel 10-May-15 14:33pm    
Thanx for the idea but I want to do something like this.

I ask you for a number between 0-8. You choose a number 5. Then it should print out the tic tac toe board where 5 will be replaced by X Then I ask you again for a number between 0-8. Say you choose 3 It should then show the tic tac toe board where 5 and 3 will be replaced by X

It will be great if you can help with this program
CPallini 10-May-15 15:00pm    
You can simple replace the int x argument of the draw_tiles method with an array of integers (and slightly modify the code to handle such array).
Jainam Patel 10-May-15 15:10pm    
Is there any that I can modify this thing in My CODE.

I get what you're saying but is there any way that I could do it in my code.
CPallini 10-May-15 15:14pm    
You yourself asked for a terser code. Of course you could also modify your origianal code, but that's up to you.
Jainam Patel 10-May-15 15:33pm    
Can you help me with modifying the my original code.

I just don't know how to do it.

It will be great if you can help me modify the original code.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900