From 79f56ed7cfd2476a2df5edbbdbd5740d06f91f3b Mon Sep 17 00:00:00 2001 From: Alirezame79 Date: Wed, 18 Jan 2023 14:17:23 +0330 Subject: [PATCH] Commit Functional base of Game --- .idea/.gitignore | 3 + .idea/misc.xml | 6 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + Tic-Tac-Toe.iml | 11 + TicTacToe.java | 1455 +++--------------- out/production/Tic-Tac-Toe/.idea/.gitignore | 3 + out/production/Tic-Tac-Toe/.idea/misc.xml | 6 + out/production/Tic-Tac-Toe/.idea/modules.xml | 8 + out/production/Tic-Tac-Toe/.idea/vcs.xml | 6 + out/production/Tic-Tac-Toe/README.md | 4 + out/production/Tic-Tac-Toe/Tic-Tac-Toe.iml | 11 + out/production/Tic-Tac-Toe/TicTacToe.class | Bin 0 -> 6170 bytes out/production/Tic-Tac-Toe/output.png | Bin 0 -> 27242 bytes 14 files changed, 279 insertions(+), 1248 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 Tic-Tac-Toe.iml create mode 100644 out/production/Tic-Tac-Toe/.idea/.gitignore create mode 100644 out/production/Tic-Tac-Toe/.idea/misc.xml create mode 100644 out/production/Tic-Tac-Toe/.idea/modules.xml create mode 100644 out/production/Tic-Tac-Toe/.idea/vcs.xml create mode 100644 out/production/Tic-Tac-Toe/README.md create mode 100644 out/production/Tic-Tac-Toe/Tic-Tac-Toe.iml create mode 100644 out/production/Tic-Tac-Toe/TicTacToe.class create mode 100644 out/production/Tic-Tac-Toe/output.png diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..b8f4709 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..a215dd9 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Tic-Tac-Toe.iml b/Tic-Tac-Toe.iml new file mode 100644 index 0000000..b107a2d --- /dev/null +++ b/Tic-Tac-Toe.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/TicTacToe.java b/TicTacToe.java index 60fea09..8f283fa 100644 --- a/TicTacToe.java +++ b/TicTacToe.java @@ -1,1276 +1,235 @@ +import java.util.ArrayList; import java.util.Scanner; import java.awt.Robot; import java.io.IOException; import java.awt.event.KeyEvent; import java.awt.AWTException; -import java.util.concurrent.TimeUnit; class TicTacToe { - - public static void clearScreen()throws AWTException { - Robot rb = new Robot(); - rb.keyPress(KeyEvent.VK_C); - rb.keyRelease(KeyEvent.VK_C); - rb.keyPress(KeyEvent.VK_L); - rb.keyRelease(KeyEvent.VK_L); - rb.keyPress(KeyEvent.VK_S); - rb.keyRelease(KeyEvent.VK_S); - rb.keyPress(KeyEvent.VK_ENTER); - rb.keyRelease(KeyEvent.VK_ENTER); -} - - - public static void game() - { - System.out.println("\n************************************************************************************************************************"); - System.out.println("\t\t\t\t\t\t TicTacToe Game \n "); - int Player1score = 0; - int Player2score = 0; - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - String arr[][] = { - {"1","2","3"}, - {"4","5","6"}, - {"7","8","9"} + + // Global score variables + public static int Player1score = 0; + public static int Player2score = 0; + + public static int round = 1; + + public static String[][] ground; + public static ArrayList chosenIndex = new ArrayList<>(9); + + public static void resetGame() { + ground = new String[][]{ + {"1", "2", "3"}, + {"4", "5", "6"}, + {"7", "8", "9"} }; - - - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[0][0]+"\t | \t"+arr[0][1]+"\t | \t"+arr[0][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[1][0]+"\t | \t"+arr[1][1]+"\t | \t"+arr[1][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[2][0]+"\t | \t"+arr[2][1]+"\t | \t"+arr[2][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - - try - { - Scanner sc = new Scanner(System.in); - System.out.println("Player 1 : "); - int choice = sc.nextInt(); - //String numberAsString = new Integer(arr[0][0]).toString(); - - switch(choice) - { - case 1: arr[0][0] = "X"; - break; - - case 2: arr[0][1] = "X"; - break; - - case 3: arr[0][2] = "X"; - break; - - case 4: arr[1][0] = "X"; - break; - - case 5: arr[1][1] = "X"; - break; - - case 6: arr[1][2] = "X"; - break; - - case 7: arr[2][0] = "X"; - break; - - case 8: arr[2][1] = "X"; - break; - - case 9: arr[2][2] = "X"; - break; - - default: System.out.println("Invalid Key Is Pressed"); - } - - System.out.println("\n************************************************************************************************************************"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[0][0]+"\t | \t"+arr[0][1]+"\t | \t"+arr[0][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[1][0]+"\t | \t"+arr[1][1]+"\t | \t"+arr[1][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[2][0]+"\t | \t"+arr[2][1]+"\t | \t"+arr[2][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - - - System.out.println("Player 2 : "); - int choice1 = sc.nextInt(); - - - //String numberAsString = new Integer(arr[0][0]).toString(); - - switch(choice1) - { - case 1: arr[0][0] = "O"; - break; - - case 2: arr[0][1] = "O"; - break; - - case 3: arr[0][2] = "O"; - break; - - case 4: arr[1][0] = "O"; - break; - - case 5: arr[1][1] = "O"; - break; - - case 6: arr[1][2] = "O"; - break; - - case 7: arr[2][0] = "O"; - break; - - case 8: arr[2][1] = "O"; - break; - - case 9: arr[2][2] = "O"; - break; - - default: System.out.println("Invalid Key Is Pressed"); - } - - System.out.println("\n************************************************************************************************************************"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[0][0]+"\t | \t"+arr[0][1]+"\t | \t"+arr[0][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[1][0]+"\t | \t"+arr[1][1]+"\t | \t"+arr[1][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[2][0]+"\t | \t"+arr[2][1]+"\t | \t"+arr[2][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - - - - System.out.println("Player 1 : "); - int choice2 = sc.nextInt(); - - - //String numberAsString = new Integer(arr[0][0]).toString(); - - switch(choice2) - { - case 1: arr[0][0] = "X"; - break; - - case 2: arr[0][1] = "X"; - break; - - case 3: arr[0][2] = "X"; - break; - - case 4: arr[1][0] = "X"; - break; - - case 5: arr[1][1] = "X"; - break; - - case 6: arr[1][2] = "X"; - break; - - case 7: arr[2][0] = "X"; - break; - - case 8: arr[2][1] = "X"; - break; - - case 9: arr[2][2] = "X"; - break; - - default: System.out.println("Invalid Key Is Pressed"); - } - - System.out.println("\n************************************************************************************************************************"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[0][0]+"\t | \t"+arr[0][1]+"\t | \t"+arr[0][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[1][0]+"\t | \t"+arr[1][1]+"\t | \t"+arr[1][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[2][0]+"\t | \t"+arr[2][1]+"\t | \t"+arr[2][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - - - - - - System.out.println("Player 2 : "); - int choice3 = sc.nextInt(); - - - //String numberAsString = new Integer(arr[0][0]).toString(); - - switch(choice3) - { - case 1: arr[0][0] = "O"; - break; - - case 2: arr[0][1] = "O"; - break; - - case 3: arr[0][2] = "O"; - break; - - case 4: arr[1][0] = "O"; - break; - - case 5: arr[1][1] = "O"; - break; - - case 6: arr[1][2] = "O"; - break; - - case 7: arr[2][0] = "O"; - break; - - case 8: arr[2][1] = "O"; - break; - - case 9: arr[2][2] = "O"; - break; - - default: System.out.println("Invalid Key Is Pressed"); - } - - System.out.println("\n************************************************************************************************************************"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[0][0]+"\t | \t"+arr[0][1]+"\t | \t"+arr[0][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[1][0]+"\t | \t"+arr[1][1]+"\t | \t"+arr[1][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[2][0]+"\t | \t"+arr[2][1]+"\t | \t"+arr[2][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - - - - - - - System.out.println("Player 1 : "); - int choice5 = sc.nextInt(); - - - //String numberAsString = new Integer(arr[0][0]).toString(); - - switch(choice5) - { - case 1: arr[0][0] = "X"; - break; - - case 2: arr[0][1] = "X"; - break; - - case 3: arr[0][2] = "X"; - break; - - case 4: arr[1][0] = "X"; - break; - - case 5: arr[1][1] = "X"; - break; - - case 6: arr[1][2] = "X"; - break; - - case 7: arr[2][0] = "X"; - break; - - case 8: arr[2][1] = "X"; - break; - - case 9: arr[2][2] = "X"; - break; - - default: System.out.println("Invalid Key Is Pressed"); - } - - System.out.println("\n************************************************************************************************************************"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[0][0]+"\t | \t"+arr[0][1]+"\t | \t"+arr[0][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[1][0]+"\t | \t"+arr[1][1]+"\t | \t"+arr[1][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[2][0]+"\t | \t"+arr[2][1]+"\t | \t"+arr[2][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - - -/* - - if(arr[0][0] == "X" || arr[0][1] == "X" || arr[0][2] == "X") - { - if(arr[1][0] == "X" || arr[1][1] == "X" || arr[1][2] == "X") - { - if(arr[2][0] == "X" || arr[2][1] == "X" || arr[2][2] == "X") - { - if(arr[0][0] == "X" || arr[1][0] == "X" || arr[2][0] == "X") - { - - if(arr[0][1] == "X" || arr[1][1] == "X" || arr[2][1] == "X") - { - - if(arr[0][2] == "X" || arr[1][2] == "X" || arr[2][2] == "X") - { - - if(arr[0][0] == "X" || arr[1][1] == "X" || arr[2][2] == "X") - { - - if(arr[0][2] == "X" || arr[1][1] == "X" || arr[2][0] == "X") - { - score += score; - System.out.println("Player 1 is Won The Match"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+score); - - - } - - } - - } - - } - - } - } - } + chosenIndex.clear(); + round = 1; } - */ - - - if(arr[0][0] == "X" && arr[0][1] == "X" && arr[0][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[0][1] == "O" && arr[0][2] == "O") - { - - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[1][0] == "X" && arr[1][1] == "X" && arr[1][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[1][0] == "O" && arr[1][1] == "O" && arr[1][2] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[2][0] == "X" && arr[2][1] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[2][0] == "O" && arr[2][1] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "X" && arr[1][0] == "X" && arr[2][0] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[1][0] == "O" && arr[2][0] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][1] == "X" && arr[1][1] == "X" && arr[2][1] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][1] == "O" && arr[1][1] == "O" && arr[2][1] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][2] == "X" && arr[1][2] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][2] == "O" && arr[1][2] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "X" && arr[1][1] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[1][1] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][2] == "X" && arr[1][1] == "X" && arr[2][0] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][2] == "O" && arr[1][1] == "O" && arr[2][0] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else - { - - } - - - - System.out.println("Player 2 : "); - int choice6 = sc.nextInt(); - - - //String numberAsString = new Integer(arr[0][0]).toString(); - - switch(choice6) - { - case 1: arr[0][0] = "O"; - break; - - case 2: arr[0][1] = "O"; - break; - - case 3: arr[0][2] = "O"; - break; - - case 4: arr[1][0] = "O"; - break; - - case 5: arr[1][1] = "O"; - break; - - case 6: arr[1][2] = "O"; - break; - - case 7: arr[2][0] = "O"; - break; - - case 8: arr[2][1] = "O"; - break; - - case 9: arr[2][2] = "O"; - break; - - default: System.out.println("Invalid Key Is Pressed"); - } - - System.out.println("\n************************************************************************************************************************"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[0][0]+"\t | \t"+arr[0][1]+"\t | \t"+arr[0][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[1][0]+"\t | \t"+arr[1][1]+"\t | \t"+arr[1][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[2][0]+"\t | \t"+arr[2][1]+"\t | \t"+arr[2][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - + public static void display() { + System.out.println("\n********************************************************************************"); + System.out.println("\t\t\t\t\t\t TicTacToe Game \n "); - if(arr[0][0] == "X" && arr[0][1] == "X" && arr[0][2] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[0][1] == "O" && arr[0][2] == "O") - { - - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[1][0] == "X" && arr[1][1] == "X" && arr[1][2] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[1][0] == "O" && arr[1][1] == "O" && arr[1][2] == "O") - { - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[2][0] == "X" && arr[2][1] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[2][0] == "O" && arr[2][1] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "X" && arr[1][0] == "X" && arr[2][0] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[1][0] == "O" && arr[2][0] == "O") - { - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][1] == "X" && arr[1][1] == "X" && arr[2][1] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][1] == "O" && arr[1][1] == "O" && arr[2][1] == "O") - { - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][2] == "X" && arr[1][2] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][2] == "O" && arr[1][2] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "X" && arr[1][1] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[1][1] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][2] == "X" && arr[1][1] == "X" && arr[2][0] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][2] == "O" && arr[1][1] == "O" && arr[2][0] == "O") - { - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else - { - + System.out.println("\t\t\t\t\t\t\t | \t\t |"); + System.out.println("\t\t\t\t\t\t"+ ground[0][0]+"\t | \t"+ ground[0][1]+"\t | \t"+ ground[0][2]); + System.out.println("\t\t\t\t\t\t\t | \t\t |"); + System.out.println("\t\t\t\t\t ------------------------"); + System.out.println("\t\t\t\t\t\t\t | \t\t |"); + System.out.println("\t\t\t\t\t\t"+ ground[1][0]+"\t | \t"+ ground[1][1]+"\t | \t"+ ground[1][2]); + System.out.println("\t\t\t\t\t\t\t | \t\t |"); + System.out.println("\t\t\t\t\t ------------------------"); + System.out.println("\t\t\t\t\t\t\t | \t\t |"); + System.out.println("\t\t\t\t\t\t"+ ground[2][0]+"\t | \t"+ ground[2][1]+"\t | \t"+ ground[2][2]); + System.out.println("\t\t\t\t\t\t\t | \t\t |"); } - - - System.out.println("Player 1 : "); - int choice7 = sc.nextInt(); - - - //String numberAsString = new Integer(arr[0][0]).toString(); - - switch(choice7) - { - case 1: arr[0][0] = "X"; - break; - - case 2: arr[0][1] = "X"; - break; - - case 3: arr[0][2] = "X"; - break; - - case 4: arr[1][0] = "X"; - break; - - case 5: arr[1][1] = "X"; - break; - - case 6: arr[1][2] = "X"; - break; - - case 7: arr[2][0] = "X"; - break; - - case 8: arr[2][1] = "X"; - break; - - case 9: arr[2][2] = "X"; - break; - - default: System.out.println("Invalid Key Is Pressed"); - } - - System.out.println("\n************************************************************************************************************************"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[0][0]+"\t | \t"+arr[0][1]+"\t | \t"+arr[0][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[1][0]+"\t | \t"+arr[1][1]+"\t | \t"+arr[1][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[2][0]+"\t | \t"+arr[2][1]+"\t | \t"+arr[2][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - - if(arr[0][0] == "X" && arr[0][1] == "X" && arr[0][2] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[0][1] == "O" && arr[0][2] == "O") - { - - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); + public static void game() { + Scanner scanner = new Scanner(System.in); + resetGame(); - - }else if(arr[1][0] == "X" && arr[1][1] == "X" && arr[1][2] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[1][0] == "O" && arr[1][1] == "O" && arr[1][2] == "O") - { - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[2][0] == "X" && arr[2][1] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[2][0] == "O" && arr[2][1] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "X" && arr[1][0] == "X" && arr[2][0] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[1][0] == "O" && arr[2][0] == "O") - { - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][1] == "X" && arr[1][1] == "X" && arr[2][1] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][1] == "O" && arr[1][1] == "O" && arr[2][1] == "O") - { - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][2] == "X" && arr[1][2] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][2] == "O" && arr[1][2] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "X" && arr[1][1] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[1][1] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][2] == "X" && arr[1][1] == "X" && arr[2][0] == "X") - { - Player1score += 1; - System.out.println("Player one has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][2] == "O" && arr[1][1] == "O" && arr[2][0] == "O") - { - Player2score += 1; - System.out.println("Player Two has won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else - { - - } - - - - System.out.println("Player 2 : "); - int choice8 = sc.nextInt(); - - - //String numberAsString = new Integer(arr[0][0]).toString(); - - switch(choice8) - { - case 1: arr[0][0] = "O"; - break; - - case 2: arr[0][1] = "O"; - break; - - case 3: arr[0][2] = "O"; - break; - - case 4: arr[1][0] = "O"; - break; - - case 5: arr[1][1] = "O"; - break; - - case 6: arr[1][2] = "O"; - break; - - case 7: arr[2][0] = "O"; - break; - - case 8: arr[2][1] = "O"; - break; - - case 9: arr[2][2] = "O"; - break; - - default: System.out.println("Invalid Key Is Pressed"); - } - - System.out.println("\n************************************************************************************************************************"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[0][0]+"\t | \t"+arr[0][1]+"\t | \t"+arr[0][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[1][0]+"\t | \t"+arr[1][1]+"\t | \t"+arr[1][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[2][0]+"\t | \t"+arr[2][1]+"\t | \t"+arr[2][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - + while (true) { + display(); //print Ground - if(arr[0][0] == "X" && arr[0][1] == "X" && arr[0][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[0][1] == "O" && arr[0][2] == "O") - { - - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); + String player; + String sign; - - }else if(arr[1][0] == "X" && arr[1][1] == "X" && arr[1][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[1][0] == "O" && arr[1][1] == "O" && arr[1][2] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[2][0] == "X" && arr[2][1] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[2][0] == "O" && arr[2][1] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "X" && arr[1][0] == "X" && arr[2][0] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[1][0] == "O" && arr[2][0] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][1] == "X" && arr[1][1] == "X" && arr[2][1] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][1] == "O" && arr[1][1] == "O" && arr[2][1] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][2] == "X" && arr[1][2] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][2] == "O" && arr[1][2] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "X" && arr[1][1] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[1][1] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][2] == "X" && arr[1][1] == "X" && arr[2][0] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][2] == "O" && arr[1][1] == "O" && arr[2][0] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else - { - - } - - - - System.out.println("Player 1 : "); - int choice9 = sc.nextInt(); - - - //String numberAsString = new Integer(arr[0][0]).toString(); - - switch(choice9) - { - case 1: arr[0][0] = "X"; - break; - - case 2: arr[0][1] = "X"; - break; - - case 3: arr[0][2] = "X"; - break; - - case 4: arr[1][0] = "X"; - break; - - case 5: arr[1][1] = "X"; - break; - - case 6: arr[1][2] = "X"; - break; - - case 7: arr[2][0] = "X"; - break; - - case 8: arr[2][1] = "X"; - break; - - case 9: arr[2][2] = "X"; - break; - - default: System.out.println("Invalid Key Is Pressed"); - } - - System.out.println("\n************************************************************************************************************************"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[0][0]+"\t | \t"+arr[0][1]+"\t | \t"+arr[0][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[1][0]+"\t | \t"+arr[1][1]+"\t | \t"+arr[1][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t -----------------------------------------------"); - System.out.println("\t\t\t\t\t\t | \t\t |"); - System.out.println("\t\t\t\t\t"+arr[2][0]+"\t | \t"+arr[2][1]+"\t | \t"+arr[2][2]); - System.out.println("\t\t\t\t\t\t | \t\t |"); - + if (round % 2 == 1) { // Player1 + player = "Player1: "; + sign = "X"; + }else { // Player2 + player = "Player2: "; + sign = "O"; + } - if(arr[0][0] == "X" && arr[0][1] == "X" && arr[0][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[0][1] == "O" && arr[0][2] == "O") - { - - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); + System.out.print(player); + int choice = scanner.nextInt(); - - }else if(arr[1][0] == "X" && arr[1][1] == "X" && arr[1][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[1][0] == "O" && arr[1][1] == "O" && arr[1][2] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[2][0] == "X" && arr[2][1] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[2][0] == "O" && arr[2][1] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "X" && arr[1][0] == "X" && arr[2][0] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[1][0] == "O" && arr[2][0] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][1] == "X" && arr[1][1] == "X" && arr[2][1] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][1] == "O" && arr[1][1] == "O" && arr[2][1] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][2] == "X" && arr[1][2] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][2] == "O" && arr[1][2] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "X" && arr[1][1] == "X" && arr[2][2] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - - }else if(arr[0][0] == "O" && arr[1][1] == "O" && arr[2][2] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][2] == "X" && arr[1][1] == "X" && arr[2][0] == "X") - { - Player1score += 1; - System.out.println("Player one is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else if(arr[0][2] == "O" && arr[1][1] == "O" && arr[2][0] == "O") - { - Player2score += 1; - System.out.println("Player Two is won"); - System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); - System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); - System.exit(0); - }else - { - /*System.out.println("Do You Want To Continue Then Press Y If No The Press Any Key"); - String yes = sc.next(); - if(yes == "Y" || yes == "y") - { - game(); - }*/ - } - - - } - catch( Exception e) - { - System.out.println("Wrong Input Entered"); + if (chosenIndex.contains(choice)) { + System.out.println("This index is chosen before!"); + continue; + } + if (choice < 0 || choice > 9) { + System.out.println("This index is invalid!"); + continue; + } + switch (choice) { + case 1 -> ground[0][0] = sign; + case 2 -> ground[0][1] = sign; + case 3 -> ground[0][2] = sign; + case 4 -> ground[1][0] = sign; + case 5 -> ground[1][1] = sign; + case 6 -> ground[1][2] = sign; + case 7 -> ground[2][0] = sign; + case 8 -> ground[2][1] = sign; + case 9 -> ground[2][2] = sign; + } + chosenIndex.add(choice); + + + if (check()) break; + + round ++; + if (round >= 10) { + System.out.println("Game is Draw!"); + break; + } + } } - - - + + private static boolean check() { + if(ground[0][0].equals("X") && ground[0][1].equals("X") && ground[0][2].equals("X")) { + Player1score += 1; + System.out.println("Player one is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[0][0].equals("O") && ground[0][1].equals("O") && ground[0][2].equals("O")) { + Player2score += 1; + System.out.println("Player Two is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[1][0].equals("X") && ground[1][1].equals("X") && ground[1][2].equals("X")) { + Player1score += 1; + System.out.println("Player one is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[1][0].equals("O") && ground[1][1].equals("O") && ground[1][2].equals("O")) { + Player2score += 1; + System.out.println("Player Two is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[2][0].equals("X") && ground[2][1].equals("X") && ground[2][2].equals("X")) { + Player1score += 1; + System.out.println("Player one is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[2][0].equals("O") && ground[2][1].equals("O") && ground[2][2].equals("O")) { + Player2score += 1; + System.out.println("Player Two is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[0][0].equals("X") && ground[1][0].equals("X") && ground[2][0].equals("X")) { + Player1score += 1; + System.out.println("Player one is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[0][0].equals("O") && ground[1][0].equals("O") && ground[2][0].equals("O")) { + Player2score += 1; + System.out.println("Player Two is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[0][1].equals("X") && ground[1][1].equals("X") && ground[2][1].equals("X")) { + Player1score += 1; + System.out.println("Player one is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[0][1].equals("O") && ground[1][1].equals("O") && ground[2][1].equals("O")) { + Player2score += 1; + System.out.println("Player Two is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[0][2].equals("X") && ground[1][2].equals("X") && ground[2][2].equals("X")) { + Player1score += 1; + System.out.println("Player one is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[0][2].equals("O") && ground[1][2].equals("O") && ground[2][2].equals("O")) { + Player2score += 1; + System.out.println("Player Two is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[0][0].equals("X") && ground[1][1].equals("X") && ground[2][2].equals("X")) { + Player1score += 1; + System.out.println("Player one is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[0][0].equals("O") && ground[1][1].equals("O") && ground[2][2].equals("O")) { + Player2score += 1; + System.out.println("Player Two is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[0][2].equals("X") && ground[1][1].equals("X") && ground[2][0].equals("X")) { + Player1score += 1; + System.out.println("Player one is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + + } else if(ground[0][2].equals("O") && ground[1][1].equals("O") && ground[2][0].equals("O")) { + Player2score += 1; + System.out.println("Player Two is won"); + System.out.println("\t Player 1 = X \t\t\t\t\t\t\t\t\t\t Player 1 Score = "+Player1score); + System.out.println("\t Player 2 = O \t\t\t\t\t\t\t\t\t\t Player 2 Score = "+Player2score); + return true; + } + return false; } - public static void main(String args[]) throws IOException, InterruptedException, AWTException, IllegalMonitorStateException - { - Scanner sc = new Scanner(System.in); - TicTacToe ge = null; - ge.game(); - //ge.clearScreen(); - System.out.println("Do You Want To Continue Then Press Y If No The Press Any Key"); - char yes = sc.next().charAt(0); - if(yes == 'Y' || yes == 'y') - { - //TimeUnit.SECONDS.wait(10); - //ge.clearScreen(); - //Thread.sleep(4000); - ge.game(); - - - } - else - { - ge.clearScreen(); + public static void main(String[] args) throws IOException, InterruptedException, AWTException, IllegalMonitorStateException { + Scanner scanner = new Scanner(System.in); + + while (true) { + game(); + + System.out.println("Do You Want To Continue Then Press Y If No Then Press Any Key"); + String yes = scanner.next(); + if (yes.equals("Y") || yes.equals("y")) { + game(); + } else { + System.out.println("Have nice Time ;)"); + break; + } } - - - } } diff --git a/out/production/Tic-Tac-Toe/.idea/.gitignore b/out/production/Tic-Tac-Toe/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/out/production/Tic-Tac-Toe/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/out/production/Tic-Tac-Toe/.idea/misc.xml b/out/production/Tic-Tac-Toe/.idea/misc.xml new file mode 100644 index 0000000..b8f4709 --- /dev/null +++ b/out/production/Tic-Tac-Toe/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/out/production/Tic-Tac-Toe/.idea/modules.xml b/out/production/Tic-Tac-Toe/.idea/modules.xml new file mode 100644 index 0000000..a215dd9 --- /dev/null +++ b/out/production/Tic-Tac-Toe/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/out/production/Tic-Tac-Toe/.idea/vcs.xml b/out/production/Tic-Tac-Toe/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/out/production/Tic-Tac-Toe/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/out/production/Tic-Tac-Toe/README.md b/out/production/Tic-Tac-Toe/README.md new file mode 100644 index 0000000..efa5724 --- /dev/null +++ b/out/production/Tic-Tac-Toe/README.md @@ -0,0 +1,4 @@ +# Tic-Tac-Toe +TicTacToe Game design in java programming + +![](output.png) diff --git a/out/production/Tic-Tac-Toe/Tic-Tac-Toe.iml b/out/production/Tic-Tac-Toe/Tic-Tac-Toe.iml new file mode 100644 index 0000000..b107a2d --- /dev/null +++ b/out/production/Tic-Tac-Toe/Tic-Tac-Toe.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/out/production/Tic-Tac-Toe/TicTacToe.class b/out/production/Tic-Tac-Toe/TicTacToe.class new file mode 100644 index 0000000000000000000000000000000000000000..25e7e2f7a7e3bb00e7e21f7d6f978c50d25e0b21 GIT binary patch literal 6170 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 literal 0 HcmV?d00001 diff --git a/out/production/Tic-Tac-Toe/output.png b/out/production/Tic-Tac-Toe/output.png new file mode 100644 index 0000000000000000000000000000000000000000..9ba84151240ed6c9b0668185190bcd9b0aca297d GIT binary patch literal 27242 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 u^?q^krDWcDZ1`r1guf`jx7dv=Q@_%Q+iN_Ffx