Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.Arrays;
- public class tictactoediscord {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- String s1 = sc.nextLine();
- System.out.println("---------");
- System.out.println("| " + s1.charAt(0) + " " + s1.charAt(1) + " " + s1.charAt(2) + " " + "|");
- System.out.println("| " + s1.charAt(3) + " " + s1.charAt(4) + " " + s1.charAt(5) + " " + "|");
- System.out.println("| " + s1.charAt(6) + " " + s1.charAt(7) + " " + s1.charAt(8) + " " + "|");
- System.out.println("---------");
- int index = 0;
- String[][] arr = new String[3][3];
- int numX = 0;
- int numO = 0;
- int count = 1;
- //entering value of char from string to array
- for (int i = 0; i < 3; i++) {
- for (int j = 0; j < 3; j++) {
- arr[i][j] = Character.toString(s1.charAt(index));
- //calculating number of X and O
- if (arr[i][j].equals("X")) {
- numX++;
- count++;
- } else if (arr[i][j].equals("O")) {
- numO++;
- count++;
- }
- index++;
- }
- }
- /*for (String[] i : arr) {
- System.out.println(Arrays.toString(i));
- }*/
- boolean won = false;
- //change it
- if (numO - numX > 1 || numX - numO > 1) {
- System.out.println("Impossible");
- }
- else {
- for (int i = 0; i < 3; i++) {
- //checking rows for XXX
- if (arr[0][i].equals(arr[1][i]) && arr[1][i].equals(arr[2][i]) && !arr[0][i].equals("O")) {
- System.out.println("X wins");
- won = true;
- break;
- }
- //checking rows for OOO
- else if (arr[0][i].equals(arr[1][i]) && arr[1][i].equals(arr[2][i]) && !arr[0][i].equals("X")) {
- System.out.println("O wins");
- won = true;
- break;
- }
- //checking columns for XXX
- else if (arr[i][0].equals(arr[i][1]) && arr[i][1].equals(arr[i][2]) && !arr[i][0].equals("O")) {
- System.out.println("X wins");
- won = true;
- break;
- }
- //checking columns for OOO
- else if (arr[i][0].equals(arr[i][1]) && arr[i][1].equals(arr[i][2]) && !arr[i][0].equals("X")) {
- System.out.println("O wins");
- won = true;
- break;
- }
- }
- }
- if (won != true) {
- //checking major diagonal for XXX
- if (arr[0][0].equals(arr[1][1]) && arr[1][1].equals(arr[2][2]) && !arr[0][0].equals("O")) {
- System.out.println("X wins");
- }
- //checking major diagonal for OOO
- else if (arr[0][0].equals(arr[1][1]) && arr[1][1].equals(arr[2][2]) && !arr[0][0].equals("X")) {
- System.out.println("O wins");
- }
- //checking minor diagonal for XXX
- else if (arr[2][0].equals(arr[1][1]) && arr[1][1].equals(arr[0][2]) && !arr[0][2].equals("O")) {
- System.out.println("X wins");
- }
- //checking minor diagonal for OOO
- else if (arr[2][0].equals(arr[1][1]) && arr[1][1].equals(arr[0][2]) && !arr[0][2].equals("X")) {
- System.out.println("O wins");
- }
- //more O or X than possible
- // else if (numO - numX > 1 || numX - numO > 1) {
- // System.out.println("Impossible");
- // }
- //Unfinished
- else if (count < 8) {
- System.out.println("Game not finished");
- } else {
- System.out.println("Draw");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment