# Design Tic-Tac-Toe

Try to solve the Design Tic-Tac-Toe problem.

We'll cover the following

## Statement

Suppose that two players are playing a tic-tac-toe game on an $n \times n$ board. Theyâ€™re following specific rules to play and win the game:

• A move is guaranteed to be valid if a mark is placed on an empty block.
• No more moves are allowed once a winning condition is reached.
• A player who succeeds in placing $n$ of their marks in a horizontal, vertical, or diagonal row wins the game.

Implement a TicTacToe class, which will be used by two players to play the game and win fairly.

Keep in mind the following functionalities that need to be implemented:

• Constructor, the constructor, which initializes an object of TicTacToe, allowing the players to play on a board of size $n \times n$.
• move(row, col, player) indicates that the player with the ID, player, places their mark on the cell (row, col). The move is guaranteed to be a valid move. At each move, this function returns the player ID if the current player wins and returns $0$ if no one wins.

Constraints:

• $2 \leq n \leq 9$

• player should be either 1 or 2.

• $0 \leq$ row, col $< n$

• Every call to move() will be with a unique row, col combination.

• The move() function will be called at most $n^2$ times.

## Examples

Create a free account to view this lesson.

By signing up, you agree to Educative's Terms of Service and Privacy Policy