1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Amiraneli [1.4K]
3 years ago
15

Write a program for playing tic tac toe. Two players take turns marking an available cell in a 3 X 3 grid with their respective

tokens (either X or O). When one player has placed the three tokens in a horizontal, vertical, or diagonal row on the grid, the game is over and that player has won. A draw occurs when all the cells on the grid have been filled with tokens and neither player has achieved a win. When a token is entered, the program redisplays the board on the console and determines the status of the game. (Win or Draw).
Computers and Technology
1 answer:
Fynjy0 [20]3 years ago
3 0

Answer:

import java.util.*;

public class tictactoe{

  //array to store values inserted in the bord

  static char[][] board = {{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}};

  //method to display board

  public static void display(){

      System.out.println("-------------");

      for(int i=0;i<3;i++){

          for(int j=0;j<3;j++){

              System.out.print("|");

              if(board[i][j] != ' ')

                  System.out.print(board[i][j]);

          }

          System.out.println("|");

      }

      System.out.println("-------------");

  }

  //method for player1 to make choice

  public static void player1(){

      Scanner in = new Scanner(System.in);

      System.out.print("Enter a row for player X: ");

      int row = in.nextInt();

      System.out.print("Enter a column for player X: ");

      int col = in.nextInt();

      //if the value are not valid and not between 0-2

      if(row > 2 || row < 0 || col > 2 || col < 0){

          System.out.println("Invalid Choice");

          player1();

      }

      //if selected position is empty

      else if(board[row][col] == ' '){

          board[row][col] = 'X';

          check('X',row,col);

          player2();

      }

      //if selected position is not empty

      else{

          System.out.println("Already filed, Enter another choice");

          player1();

      }

  }

  //method for player2 to make choice

  public static void player2(){

      Scanner in = new Scanner(System.in);

      System.out.print("Enter a row for player O: ");

      int row = in.nextInt();

      System.out.print("Enter a column for player O: ");

      int col = in.nextInt();

      //if the value are not valid and not between 0-2

      if(row > 2 || row < 0 || col > 2 || col < 0){

          System.out.println("Invalid Choice");

          player2();

      }

      //if selected position is empty

      else if(board[row][col] == ' '){

          board[row][col] = 'O';

          check(')',row,col);

          player1();

      }

      //if selected position is not empty

      else{

          System.out.println("Already filed, Enter another choice");

          player2();

      }

  }

  //method to check whether a player has won

  public static void check(char s, int row, int col){

      display();

      //check row has same 3 values

      int count = 0;

      for(int i=0;i<3;i++){

          if(board[row][i] == s)

              count++;

      }

      if(count == 3){

          System.out.println(s + " player won");

          System.exit(0);

      }

      //checking column has same 3 values

      count = 0;

      for(int i=0;i<3;i++){

          if(board[i][col] == s)

              count++;

      }

      if(count == 3){

          System.out.println(s + " player won");

          System.exit(0);

      }

      //checking first diagonal has same 3 values

      count = 0;

      for(int i=0;i<3;i++){

          if(board[i][i] == s)

              count++;

      }

      if(count == 3){

          System.out.println(s + " player won");

          System.exit(0);

      }

      //checking second diagonal has same 3 values

      count = 0;

      for(int i=0;i<3;i++){

          if(board[i][2-i] == s)

              count++;

      }

      if(count == 3){

          System.out.println(s + " player won");

          System.exit(0);

      }

      //checking whether all places are filled

      count = 0;

      for(int i=0;i<3;i++)

          for(int j=0;j<3;j++)

              if(board[i][j] == ' ')

                  count++;

      if(count == 0){

          System.out.println("Game tied");

          System.exit(0);

      }

  }

  public static void main(String[] args){

      display();

      player1();

  }

}

Explanation:

You might be interested in
Jeff is preparing for a presentation on effective communication skills. He has to face an audience of over 50 people. Which stra
Georgia [21]
C. accept the mistake and move on
6 0
3 years ago
Read 2 more answers
3. Maria is in charge of consolidating the names of the participants of the two-day virtual
Lina20 [59]

Answer:

The correct sequence of steps in sorting text is;

III, IV, I and II

Which is option 'C' where the last item is II

C. III, IV, I and II

Explanation:

Sorting is the orderly arrangement of items (data) according to a specified criteria such as arranging a list of items alphabetically or a numerical arrangement of a data collection

Filtering is the selection for display, data that meets a specific condition

To arrange the names of the participants of the two-day virtual seminar alphabetically using MS Excel the sequence of steps are;

1. Select the rows or columns the are to be sorted by using steps for selecting  rows and/or columns

2. Go to the Editing group of the Home Tab ribbon

3. Click on (the down arrow besides) the Sort & Filter command icon to display a drop down menu with options for type of sorting and filtering

4. Choose Sort A to Z to sort the contents of the cell range in increasing alphabetical order

Therefore, the correct sequence of steps are;

III. Select the cell range needed to be sorted

IV. Go to the Editing Styles group of the Home Tab

I. Click the Sort & Filter command. A drop down menu appears

II. Choose Sort A to Z.

The correct sequence is III, IV, I and II.

7 0
3 years ago
What are the five resources paid for by local taxes
Mrac [35]

Answer & Explanation:

A local tax is usually collected in the form of property taxes and is used to fund a wide range of civic services from garbage collection to sewer maintenance. The amount of local taxes may vary widely from one jurisdiction to the next. Local tax is also referred to as a municipal tax.

6 0
4 years ago
Please help will give brainliest
ludmilkaskok [199]

Answer:

waterfall- google search

Explanation:

5 0
3 years ago
Which of the following is a reason photographing animals can be difficult?
erma4kov [3.2K]
They always move, so its hard catching them still, and if they are in action, you can't get a good picture because it will come out blurry. Hope this helps. Let me know if you need anything else.
4 0
3 years ago
Read 2 more answers
Other questions:
  • You have just deployed SNMPv3 in your environment. Your manager asks you to make sure that your SNMP agents can only talk to the
    13·2 answers
  • Which of the following software monitors a user's activities and sends the information back to another source without the user k
    11·1 answer
  • Which button is used to open the Start menu in Windows Vista?
    14·1 answer
  • What's the problem with this code ?
    14·1 answer
  • Which of the following is a typical concern for developers while using prototypes?
    6·2 answers
  • When at the rightmost cell in a row, press the ENTER key to move to the first cell in the next row; do not press the TAB key
    6·1 answer
  • When installing EMT conduit that will be exposed to wet conditions, _______ fittings should be used.
    5·2 answers
  • In information security, a specification of a model to be followed during the design, selection, and initial and ongoing impleme
    5·1 answer
  • How to delete Brainly account ?​
    12·1 answer
  • How do i code........​
    6·2 answers
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!