Implement an ADT that can used as a Tic-Tac-Toe game board. Your ADT will implement the interface given below. In the main method also include a simple usage example. Here are the rules of N x N Tic-Tac-Toe game: • Players take turns placing characters into empty squares (" "). • The first player A always places "X" characters, while the second player B always places "O" characters. • "X" and "O" characters are always placed into empty squares, never on filled ones. • The game ends when there are N of the same (non-empty) character filling any row, column, or diagonal. • The game also ends if all squares are non-empty. • No more moves can be played if the game is over Must be outputted in the console not with gui.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Implement an ADT that can used as a Tic-Tac-Toe game board. Your ADT will implement the interface
given below. In the main method also include a simple usage example.
Here are the rules of N x N Tic-Tac-Toe game:
• Players take turns placing characters into empty squares (" ").
• The first player A always places "X" characters, while the second player B always places "O" characters.
• "X" and "O" characters are always placed into empty squares, never on filled ones.
• The game ends when there are N of the same (non-empty) character filling any row, column, or diagonal.
• The game also ends if all squares are non-empty.
• No more moves can be played if the game is over

Must be outputted in the console not with gui.

Exception class to be used:
public class TicTacToeException extends Exception {
public TicTacToeException (String message){
super (message);
Transcribed Image Text:Exception class to be used: public class TicTacToeException extends Exception { public TicTacToeException (String message){ super (message);
Interface to be implemented:
public interface TicTacToe
{
/** Starts a new game on a board of size x size.
@return void. */
public void reset (int size);
/** Retrieves either
'X' or 'O' from the position x and y on the
board.
@return Char ' ', 'X' or 'O'.
@throws TicTacToeException ("Invalid coordinates") if values x,y
exceeds board size. * /
public Char boardValue (int x, int y);
/** Simulates palyer A move. Player A plays 'X'.
@return 1 if player A won. 0 if this was the last move and the board
is full, thus draw. -1 if the game is not finished.
@throws TicTacToeException("Invalid coordinates") if values x,y
exceeds board size. TicTacToeException("Cell is already used") if
the cell at coordinates x,y was already used before */
public int playerAMove (int x, int y);
/** Simulates palyer B move. Player B plays '0'.
@return 1 if player B won. 0 if this was the last move and the board
is full, thus draw. -1 if the game is not finished.
@throws TicTacToeException ("Invalid coordinates") if values x,y
exceeds board size. TicTacToeException("Cell is already used") if
the cell at coordinates x,y was already used before */
public int playerBMove (int x, int y);
} // end TicTacToe
Transcribed Image Text:Interface to be implemented: public interface TicTacToe { /** Starts a new game on a board of size x size. @return void. */ public void reset (int size); /** Retrieves either 'X' or 'O' from the position x and y on the board. @return Char ' ', 'X' or 'O'. @throws TicTacToeException ("Invalid coordinates") if values x,y exceeds board size. * / public Char boardValue (int x, int y); /** Simulates palyer A move. Player A plays 'X'. @return 1 if player A won. 0 if this was the last move and the board is full, thus draw. -1 if the game is not finished. @throws TicTacToeException("Invalid coordinates") if values x,y exceeds board size. TicTacToeException("Cell is already used") if the cell at coordinates x,y was already used before */ public int playerAMove (int x, int y); /** Simulates palyer B move. Player B plays '0'. @return 1 if player B won. 0 if this was the last move and the board is full, thus draw. -1 if the game is not finished. @throws TicTacToeException ("Invalid coordinates") if values x,y exceeds board size. TicTacToeException("Cell is already used") if the cell at coordinates x,y was already used before */ public int playerBMove (int x, int y); } // end TicTacToe
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 7 steps with 1 images

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education