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]
4 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
To hide gridline when you display or print a worksheet
Bingel [31]
Hide it under the copier
7 0
4 years ago
When a third variable is included in an analysis and that third variable changes the relationship between the independent variab
crimeas [40]

Answer:

mediator

Explanation:

Based on the scenario being described within the question it can be said that the third variable is called a mediator. Just like a mediator in a transaction, this refers to a go-between, something (in this scenario) that attempts to change or resolve the relationship between two variables, such as described in this situation.

8 0
3 years ago
Electronic mail is a
skad [1K]

Answer:

A) Transmission of letter, message and memos over a communication network

Explanation:

Communication can be defined as a process which typically involves the transfer of information from one person (sender) to another (recipient), through the use of semiotics, symbols and signs that are mutually understood by both parties. One of the most widely used communication channel or medium is e-mail (electronic mail).

An e-mail is an acronym for electronic mail and it is a software application or program designed to let users send texts and multimedia messages over the internet.

Hence, electronic mail is a transmission of letter, message and memos over a communication network. Some examples of the commonly used electronic mails platform are Yahoo, G-mail, etc.

5 0
4 years ago
What is the basic purpose of the International Space Station that will be completed in 2010?
frosja888 [35]
The best and most correct answer among the choices provided by the question is the third choice "It will be a space laboratory for scientists"<span>

The main purpose of the International Space Station<span> is to provide an </span>international<span> laboratory for experiments within the </span>space<span> environment. Which, despite all our technological advances, is nearly impossible to replicate here on Earth.
</span>
I hope my answer has come to your help. God bless and have a nice day ahead!</span>
6 0
4 years ago
Select the correct answer.
Shtirlitz [24]

Answer:

The right answer is text. we just need to just mention the date inside the text, and also mention the cell number, where you want that to be printed. The formula is Text(B1, "MM-DD-YY").

The other mentioned are a detailed information, and contains a mixed blend of information. The table, chart, flowchart and the shapes contains different data type. However, text is a data type, and date can be converted into text date type through the above formula. Hence, we are converting the date data type to text data type.

Explanation:

The answer is self explanatory.

6 0
3 years ago
Other questions:
  • What term identifies hard drives enclosed in a case other than your computer's case? A External hard drives B Flash drives C CD-
    8·2 answers
  • What is the purpose of using modulo 2 arithmetic rather than binary arithmetic in computing an fcs?
    7·1 answer
  • Is the percentage of the original sample that successfully completed a survey.
    10·1 answer
  • Henry created a software that manages all of his music. He wishes to run software on another computer system that runs an operat
    8·1 answer
  • Windows _ is a built-in tool that uses libraries, or groups of related files, to enable you to search for programs, files, or fo
    13·1 answer
  • For which purpose is RAM used?
    7·2 answers
  • PLEASE HELP ASAP (answer is needed in Java) 70 POINTS
    15·1 answer
  • FREE BRAINLIEST!!!!
    7·2 answers
  • It is acceptable to create two TCP connections on the same server/port doublet from the same client/port doublet. True False
    9·1 answer
  • Which of the following safety and privacy features is not included in a P2P app or service?
    5·2 answers
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!