daily pastebin goal
67%
SHARE
TWEET

Untitled

a guest Dec 11th, 2017 59 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Homework 2: Tic Tac Toe
  2. Program by: Emerson Murray
  3. File Name: H2_TicTacToe.java
  4. Function: A basic tic tac toe program
  5. */
  6.  
  7. import java.io.*;
  8.  
  9. public class H2_TicTacToe
  10. {
  11.         public static void main(String args[]) throws IOException
  12.         {
  13.                 char[] board = {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '};
  14.                 boolean turn = true;
  15.  
  16.                 int moveNum;
  17.                 int moveCount = 0;
  18.                 String inputMove;
  19.                 BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
  20.                 menu();
  21.  
  22.  
  23.                 while (checkTie == false && checkWin == false) {
  24.  
  25.  
  26.                         if (turn == true) {
  27.                         System.out.println("Enter your move, Player X: ");
  28.                         inputMove = dataIn.readLine();
  29.                         moveNum = Integer.parseInt(inputMove);
  30.                                 turn = false;
  31.                                 moveCount++;
  32.                                 player1(moveNum, turn, moveCount, board);
  33.  
  34.  
  35.                         }
  36.                         else {
  37.                                  System.out.println("Enter your move, Player O: ");
  38.                              inputMove = dataIn.readLine();
  39.                              moveNum = Integer.parseInt(inputMove);
  40.                         turn = true;
  41.                         moveCount++;
  42.                         player2(moveNum, turn, moveCount, board);
  43.  
  44.  
  45.                         }
  46.                         checkWin(board);
  47.                         checkTie(moveCount);
  48.  
  49.  
  50.                 }
  51.  
  52.  
  53.         }
  54.  
  55.         public static void menu()
  56.         {
  57.                 System.out.println("0|1|2");
  58.                 System.out.println("-----");
  59.                 System.out.println("3|4|5");
  60.                 System.out.println("-----");
  61.                 System.out.println("6|7|8");
  62.         }
  63.  
  64.         public static void showBoard(char theBoard[])
  65.         {
  66.                 System.out.println(theBoard[0] + "|" + theBoard[1] + "|" + theBoard[2]);
  67.                 System.out.println("-----");
  68.                 System.out.println(theBoard[3] + "|" + theBoard[4] + "|" + theBoard[5]);
  69.                 System.out.println("-----");
  70.                 System.out.println(theBoard[6] + "|" + theBoard[7] + "|" + theBoard[8]);
  71.         }
  72.  
  73.         public static void player1(int moveNum, boolean turn, int moveCount, char theBoard[])
  74.         {
  75.  
  76.                 switch(moveNum)
  77.                 {
  78.                         case 0:
  79.                             if(theBoard[0] == ' ') {
  80.                             theBoard[0] = 'X';
  81.                             menu();
  82.                             showBoard(theBoard);
  83.                             }
  84.                             else
  85.                             {
  86.                                         System.out.println("That space is already taken, please try again.");
  87.                                         turn = true;
  88.                                         moveCount--;
  89.                                         menu();
  90.  
  91.                         }
  92.                         break;
  93.  
  94.                     case 1:
  95.  
  96.                         if(theBoard[1] == ' ') {
  97.                                  theBoard[1] = 'X';
  98.                                  menu();
  99.                                  showBoard(theBoard);
  100.                         }
  101.  
  102.                         else
  103.                         {
  104.                                         System.out.println("That space is already taken, please try again.");
  105.                                         turn = true;
  106.                                         moveCount--;
  107.                                         menu();
  108.                                 }
  109.                                 break;
  110.  
  111.                         case 2:
  112.  
  113.                             if(theBoard[2] == ' ') {
  114.                             theBoard[2] = 'X';
  115.                             menu();
  116.                             showBoard(theBoard);
  117.                             }
  118.                             else
  119.                             {
  120.                                         System.out.println("That space is already taken, please try again.");
  121.                                         turn = true;
  122.                                         moveCount--;
  123.                                         menu();
  124.                                 }
  125.                                 break;
  126.  
  127.                         case 3:
  128.  
  129.                             if(theBoard[3] == ' ') {
  130.                             theBoard[3] = 'X';
  131.                             menu();
  132.                             showBoard(theBoard);
  133.                             }
  134.                             else
  135.                             {
  136.                                         System.out.println("That space is already taken, please try again.");
  137.                                         turn = true;
  138.                                         moveCount--;
  139.                                         menu();
  140.                                 }
  141.                                 break;
  142.                         case 4:
  143.  
  144.                             if(theBoard[4] == ' ') {
  145.                             theBoard[4] = 'X';
  146.                             menu();
  147.                             showBoard(theBoard);
  148.                             }
  149.                             else
  150.                             {
  151.                                         System.out.println("That space is already taken, please try again.");
  152.                                         turn = true;
  153.                                         moveCount--;
  154.                                         menu();
  155.                                 }
  156.                                 break;
  157.                         case 5:
  158.  
  159.                             if(theBoard[5] == ' ') {
  160.                             theBoard[5] = 'X';
  161.                             menu();
  162.                             showBoard(theBoard);
  163.                             }
  164.                             else
  165.                             {
  166.                                         System.out.println("That space is already taken, please try again.");
  167.                                         turn = true;
  168.                                         moveCount--;
  169.                                         menu();
  170.                                 }
  171.                                 break;
  172.  
  173.                         case 6:
  174.                             if(theBoard[6] == ' ') {
  175.                             theBoard[6] = 'X';
  176.                             menu();
  177.                             showBoard(theBoard);
  178.                             }
  179.                             else
  180.                             {
  181.                                         System.out.println("That space is already taken, please try again.");
  182.                                         turn = true;
  183.                                         moveCount--;
  184.                                         menu();
  185.                                 }
  186.                                 break;
  187.  
  188.                         case 7:
  189.                             if(theBoard[7] == ' ') {
  190.                             theBoard[7] = 'X';
  191.                             menu();
  192.                             showBoard(theBoard);
  193.                             }
  194.                             else
  195.                             {
  196.                                         System.out.println("That space is already taken, please try again.");
  197.                                         turn = true;
  198.                                         moveCount--;
  199.                                         menu();
  200.                                 }
  201.                                 break;
  202.  
  203.                         case 8:
  204.                             if(theBoard[8] == ' ') {
  205.                             theBoard[8] = 'X';
  206.                             menu();
  207.                             showBoard(theBoard);
  208.                             }
  209.                             else
  210.                             {
  211.                                         System.out.println("That space is already taken, please try again.");
  212.                                         turn = true;
  213.                                         moveCount--;
  214.                                         menu();
  215.                                 }
  216.                                 break;
  217.  
  218.                         default:
  219.                                 System.out.println("That is not a valid move, please try again.");
  220.                                 menu();
  221.  
  222.  
  223.  
  224.                         }
  225.                 }
  226.         public static void player2(int moveNum, boolean turn, int moveCount, char theBoard[])
  227.         {
  228.  
  229.                 switch(moveNum)
  230.                 {
  231.                         case 0:
  232.                             if(theBoard[0] == ' ') {
  233.                             theBoard[0] = 'O';
  234.                             menu();
  235.                             showBoard(theBoard);
  236.                             }
  237.                             else
  238.                             {
  239.                                         System.out.println("That space is already taken, please try again.");
  240.                                         turn = false;
  241.                                         moveCount--;
  242.  
  243.                                 menu();
  244.  
  245.                         }
  246.                         break;
  247.  
  248.                     case 1:
  249.  
  250.                         if(theBoard[1] == ' ') {
  251.                         theBoard[1] = 'O';
  252.                         menu();
  253.                         showBoard(theBoard);
  254.                         }
  255.                         else
  256.                         {
  257.                                         System.out.println("That space is already taken, please try again.");
  258.                                         turn = false;
  259.                                         moveCount--;
  260.                                         menu();
  261.                                 }
  262.                                 break;
  263.  
  264.                         case 2:
  265.  
  266.                             if(theBoard[2] == ' ') {
  267.                             theBoard[2] = 'O';
  268.                             menu();
  269.                             showBoard(theBoard);
  270.                             }
  271.                             else
  272.                             {
  273.                                         System.out.println("That space is already taken, please try again.");
  274.                                         turn = false;
  275.                                         moveCount--;
  276.                                         menu();
  277.                                 }
  278.                                 break;
  279.  
  280.                         case 3:
  281.  
  282.                             if(theBoard[3] == ' ') {
  283.                             theBoard[3] = 'O';
  284.                             menu();
  285.                             showBoard(theBoard);
  286.                             }
  287.                             else
  288.                             {
  289.                                         System.out.println("That space is already taken, please try again.");
  290.                                         turn = false;
  291.                                         moveCount--;
  292.                                         menu();
  293.                                 }
  294.                                 break;
  295.                         case 4:
  296.  
  297.                             if(theBoard[4] == ' ') {
  298.                             theBoard[4] = 'O';
  299.                             menu();
  300.                             showBoard(theBoard);
  301.                             }
  302.                             else
  303.                             {
  304.                                         System.out.println("That space is already taken, please try again.");
  305.                                         turn = false;
  306.                                         moveCount--;
  307.                                         menu();
  308.                                 }
  309.                                 break;
  310.                         case 5:
  311.  
  312.                             if(theBoard[5] == ' ') {
  313.                             theBoard[5] = 'O';
  314.                             menu();
  315.                             showBoard(theBoard);
  316.                             }
  317.                             else
  318.                             {
  319.                                         System.out.println("That space is already taken, please try again.");
  320.                                         turn = false;
  321.                                         moveCount--;
  322.                                         menu();
  323.                                 }
  324.                                 break;
  325.  
  326.                         case 6:
  327.                             if(theBoard[6] == ' ') {
  328.                             theBoard[6] = 'O';
  329.                             menu();
  330.                             showBoard(theBoard);
  331.                             }
  332.                             else
  333.                             {
  334.                                         System.out.println("That space is already taken, please try again.");
  335.                                         turn = false;
  336.                                         moveCount--;
  337.                                         menu();
  338.                                 }
  339.                                 break;
  340.  
  341.                         case 7:
  342.                             if(theBoard[7] == ' ') {
  343.                             theBoard[7] = 'O';
  344.                             menu();
  345.                             showBoard(theBoard);
  346.                             }
  347.                             else
  348.                             {
  349.                                         System.out.println("That space is already taken, please try again.");
  350.                                         turn = false;
  351.                                         moveCount--;
  352.                                         menu();
  353.                                 }
  354.                                 break;
  355.  
  356.                         case 8:
  357.                             if(theBoard[8] == ' ') {
  358.                             theBoard[8] = 'O';
  359.                             menu();
  360.                             showBoard(theBoard);
  361.                             }
  362.                             else
  363.                             {
  364.                                         System.out.println("That space is already taken, please try again.");
  365.                                         turn = false;
  366.                                         moveCount--;
  367.                                         menu();
  368.                                 }
  369.                                 break;
  370.  
  371.                         default:
  372.                                 System.out.println("That is not a valid move, please try again.");
  373.                                 menu();
  374.                                 }
  375.                         }
  376.               public static boolean checkTie(int moveCount)
  377.               {
  378.                                   if(moveCount == 9)
  379.                                   {
  380.                                     System.out.println("TIED GAME");
  381.                                     return true;
  382.                                 }
  383.                           }
  384.  
  385.                           public static boolean checkWin(char board[])
  386.                           {
  387.                                   if((board[0] == board[1]) && (board[1] == board[2]))
  388.                                   {
  389.                                           if(board[0] != ' ')
  390.                                           {
  391.                                                   System.out.println("Player " + board[0] + " wins!");
  392.                                                   return true;
  393.                                           }
  394.                                   }
  395.                                   if((board[3] == board[4]) && (board[4] == board[5]))
  396.                                   {
  397.                                           if(board[3] != ' ')
  398.                                           {
  399.                                                   System.out.println("Player " + board[3] + " wins!");
  400.                                                   return true;
  401.                                           }
  402.                                   }
  403.                                   if((board[6] == board[7]) && (board[7] == board[8]))
  404.                                   {
  405.                                           if(board[6] != ' ')
  406.                                           {
  407.                                                   System.out.println("Player " + board[6] + " wins!");
  408.                                                   return true;
  409.                                           }
  410.                                   }
  411.                                   if((board[0] == board[3]) && (board[3] == board[6]))
  412.                                   {
  413.                                           if(board[0] != ' ')
  414.                                           {
  415.                                                   System.out.println("Player " + board[0] + " wins!");
  416.                                                   return true;
  417.                                           }
  418.                                   }
  419.                                   if((board[1] == board[4]) && (board[4] == board[7]))
  420.                                   {
  421.                                           if(board[1] != ' ')
  422.                                           {
  423.                                                   System.out.println("Player " + board[1] + " wins!");
  424.                                                   return true;
  425.                                           }
  426.                                   }
  427.                                   if((board[2] == board[5]) && (board[5] == board[8]))
  428.                                   {
  429.                                           if(board[2] != ' ')
  430.                                           {
  431.                                                   System.out.println("Player " + board[2] + " wins!");
  432.                                                   return true;
  433.                                           }
  434.                                   }
  435.                                   if((board[0] == board[4]) && (board[4] == board[8]))
  436.                                   {
  437.                                           if(board[0] != ' ')
  438.                                           {
  439.                                                   System.out.println("Player " + board[0] + " wins!");
  440.                                                   return true;
  441.                                           }
  442.                                   }
  443.                                   if((board[2] == board[4]) && (board[4] == board[6]))
  444.                                   {
  445.                                           if(board[2] != ' ')
  446.                                           {
  447.                                                   System.out.println("Player " + board[2] + " wins!");
  448.                                                   return true;
  449.                                           }
  450.                                   }
  451.                           }
  452. }
RAW Paste Data
Top