0 votes
1 view
in AI and Deep Learning by (50.5k points)

I have made a Tic-Tac-Toe game for 2 players. Now, I want to give the game Artificial Intelligence.

So that game can be played between 1 player and a computer.

Please, help How do I start?

1 Answer

0 votes
by (108k points)

You can follow the steps given below:

  • Creating the Board: The board is modeled as a two-dimensional array of integers. A value of 0 represents empty space, a value of 1 an ‘X’, and a value of 2 represents an ‘O’.
  • Creating the Tic-Tac-Toe Game: With the board in place, we can make the TicTacToe class which models the game itself. It is responsible for keeping track of each player’s turn and making moves on the board and ends the game when a player wins or a draw has been reached.
  • Creating the Players: We will have two kinds of players, a human player, and a computer player. The human player will get a move from a live person while the computer player will search for moves from the game tree it constructs. We will create an abstract Player class to capture the shared properties and functionality of human and computer players.
  • Defining an Evaluation Function: There are many ways to construct an evaluation function that meets our criteria. The way I chose is fairly simple:  for each row, column and diagonal on the board, count the number of the players pieces (an ‘X’ or an ‘O’) that are present if it is possible for a win in that row, column or diagonal and subtract that from that value we get from the same evaluation for the opponent’s piece.
  • Implementing MINIMAX: Like the HumanPlayer class, our ComputerPlayer class will extend Player and need to implement the Move method(strategy for next move). We will build our search tree using Node objects that will represent a particular move made.
  • Creating Players and Running the Game: So now that we have an ‘intelligent’ computer player capable of making its own moves let’s set up a game. In the Program class (see Program.cs) we create our players and run the game.

    For the full code in C#, refer the following link:


If you wish to know more about Artificial Intelligence then visit this Artificial Intelligence Course.
Welcome to Intellipaat Community. Get your technical queries answered by top developers !